我对正则表达式不太满意,但是对于PHP,我想style从TinyMCE返回的字符串中的HTML标记中删除属性。
style
所以换成<p style="...">Text</p>香草<p>Test</p>。
<p style="...">Text</p>
<p>Test</p>
我将如何通过类似preg_replace()功能来实现这一目标?
preg_replace()
务实的正则表达式(<[^>]+) style=".*?"将在所有合理的情况下解决此问题。不是第一个捕获组的匹配部分应删除,如下所示:
(<[^>]+) style=".*?"
$output = preg_replace('/(<[^>]+) style=".*?"/i', '$1', $input);
匹配一个<后跟一个或多个“ not >”的字符,直到我们到达space该style="..."部分为止。该/i更令其一起工作STYLE="..."。将此匹配替换为$1,这是捕获的组。如果标记不包含,它将保留标记style="..."。
<
>
space
style="..."
/i
STYLE="..."
$1