在将内容保存到数据库之前,我正在进行一些html处理。当用户粘贴任何包含html表的内容时,我需要删除一些标记和属性。
我正在通过content.match('<table[^>]*>(.*?)</table>')
提取表格内容。在这个内容中,它有width标记作为属性,也有style标记。CCD_ 2。
我想要像<table style="border-collapse: collapse;">
那样的内容。我不想删除tr
和td
内部的宽度属性和标记。有人能建议一个合适的正则表达式模式来做到这一点吗?
如果您能够自己获得<table...>
令牌,那么以下正则表达式应该与前面没有减号的所有width
属性匹配:
/(?:[^w-])widths*(=s*(["'])[^"']+2s*|:s*[^;]+;)/g
显然,您应该用空格替换匹配的内容。
查找:
(<table[^>]*) width="[^"]*"
替换为:
1
解释
(<table : find all '<table'...
[^>]*) : until first occurrence of a closing lace brace
width="[^"]*" : find ' width="' until first occurrence of a quotation mark,
select everything, and close it with a quotation mark
regex容器预览
欢呼,poli