我在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[^>]*>/
任何帮助/建议非常感谢!
2 回答
正确的正则表达式是 no regex . 请改用HTML / DOM Parser . 它们易于使用 . 正则表达式是常规语言(HTML不是) .
/<p[^>]*><\/p[^>]*>/
(你给的正则表达式)应该可以正常工作 . 如果它给你带来麻烦你可以尝试双重逃避/
如下:/<p[^>]*><\\/p[^>]*>/
PHP很有趣的引用和转义字符 . 例如
"\n"
不等于'\n'
. 第一个是换行符,第二个是字面反斜杠,后跟'n' . 关于字符串文字的PHP手册输入可能值得一看 .