首页 文章

删除空段(<p>)标签的正确正则表达式(对于PHP preg_replace)是什么?

提问于
浏览
0

我在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 回答

  • 3

    正确的正则表达式是 no regex . 请改用HTML / DOM Parser . 它们易于使用 . 正则表达式是常规语言(HTML不是) .

  • 0

    /<p[^>]*><\/p[^>]*>/ (你给的正则表达式)应该可以正常工作 . 如果它给你带来麻烦你可以尝试双重逃避 / 如下: /<p[^>]*><\\/p[^>]*>/

    PHP很有趣的引用和转义字符 . 例如 "\n" 不等于 '\n' . 第一个是换行符,第二个是字面反斜杠,后跟'n' . 关于字符串文字的PHP手册输入可能值得一看 .

相关问题