使用正则表达式删除表内的宽度标记

时间:2016-06-10 06:40:36

标签: javascript html css regex

在将内容保存到数据库之前,我正在进行一些html处理。当用户粘贴任何包含html表的内容时,我需要删除一些标记和属性。

我正在通过content.match('<table[^>]*>(.*?)</table>')提取表格内容。在此内容中,它具有宽度标记作为属性以及内部样式标记。 <table width="462" style="border-collapse: collapse; width: 348pt;">

我想拥有像<table style="border-collapse: collapse;">这样的内容。我不想删除trtd中的宽度属性和标记。任何人都可以建议一个正确的正则表达式模式来做到这一点吗?

2 个答案:

答案 0 :(得分:0)

如果您设法自行获取<table...>令牌,则以下正则表达式应匹配前面没有减号的所有width属性:

/(?:[^\w-])width\s*(=\s*(["'])[^"']+\2\s*|:\s*[^;]+;)/g

您显然应该用空格替换匹配的内容。

答案 1 :(得分:-1)

查找:

(<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 container preview

欢呼声,政策