我在Wordpress工作,需要能够删除图像和空段落。到目前为止,我已经找到了如何删除图像没有问题。但是,我需要删除空的段落标记。我正在使用PHP preg_replace来处理正则表达式函数。
所以,举个例子,我有字符串:
<p style="text-align:center;"><img src="http://www.blah.com/image.jpg" alt="Blah Image" /></p><p>Some text</p>
我在上面运行这个正则表达式:
/<img.*?(>)/
我最终得到了这个字符串:
<p style="text-align:center;"></p><p>Some text</p>
然后我需要能够删除空段落。我尝试了这个,但它删除了所有段落和段落的内容:
/<p[^>]*><\/p[^>]*>/
非常感谢任何帮助/建议!
答案 0 :(得分:3)
正确的正则表达式是没有正则表达式。请改用HTML / DOM Parser。它们易于使用。正则表达式适用于常规语言(HTML不是)。
答案 1 :(得分:0)
/<p[^>]*><\/p[^>]*>/
(你给的正则表达式)应该可以正常工作。如果它给您带来麻烦,您可以尝试双重转义/
,如下所示:/<p[^>]*><\\/p[^>]*>/
PHP引用和转义字符很有趣。例如,"\n"
不等于'\n'
。第一个是换行符,第二个是字面反斜杠后跟'n'。关于字符串文字的PHP手册输入可能值得一看。