我怎样才能删除<br/>
如果之前或之后没有文字?
例如,
<p><br/>hello</p>
<p>hello<br/></p>
它们应该像这样重写,
<p>hello</p>
<p>hello</p>
我应该使用 DOMxpath 还是正则表达式会更好?
(注:我有一个post https://stackoverflow.com/questions/6837892/remove-pbr-p-with-domxpath-or-regex关于删除<p><br/></p>
之前使用 DOMxpath,然后我遇到了这个问题!)
EDIT:
如果我在输入中有这个,
$content = '<p><br/>hello<br/>hello<br/></p>';
那么应该是
<p>hello<br/>hello</p>'
要选择提到的 br,您可以使用:
"//p[node()[1][self::br]]/br[1] | //p[node()[last()][self::br]]/br[last()]"
或者,(也许)更快:
"//p[br]/node()[self::br and (position()=1 or position()=last())]"
当 p 的第一个(或最后一个)节点是 br 时,只需获取 br。
这将选择 br 例如:
<p><br/>hello</p>
<p>hello<br/></p>
第一个和最后一个 br 像这样:
<p><br/>hello<br/>hello<br/></p>
不是像这样的中间 br:
<p>hello<br/>hello</p>
PS:最终获得像这样的一对中的第一个 br<br/><br/>
:
"//br[following::node()[1][self::br]]"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)