【发布时间】:2012-06-24 15:50:20
【问题描述】:
我正在尝试修复一些 HTML,它运行良好。但有一件事是给我带来麻烦;特别是打开和关闭<p></p> 标签。
我需要解决两种情况:
a) 删除<p> </p> 序列。
b) 删除段落中的结束和开始空格。
我正在这样做:
preg_replace("#<p>\s*</p>#","",$str);
preg_replace("#\s?(</?p>)\s?#", '$1', $str);
但两者都没有取代任何东西。我做错了什么,不完全正确?
编辑:原代码
$source=preg_replace("#\s?(</?p>)\s?#", '$1', $source); //Replace possible innecessary blank spaces
return preg_replace("#<p>\s*</p>#","",$source); //Delete all posible empty pharagraphs
谢谢你:D
【问题讨论】:
-
@JackManey 这很有趣......但是,我还能如何使用 HTML 解析器呢?我正在使用 HTMLpurifier,我能做的最酷的事情是修复一些错误的标签……但是,这两个必需的东西?你能帮我,而不是说:“用正则表达式做不可能的事!”..而且,让我的问题看起来像一个否定的巢?,为什么?...