如何删除
如果之前或之后没有文字? DOMxpath 还是正则表达式?
如果
前后没有文本,如何删除它?
例如,
<p><br/>hello</p>
<p>hello<br/></p>
它们应该像这样重写,
<p>hello</p>
<p>hello</p>
我应该使用 DOMxpath 还是正则表达式会更好?
(注意:我有一篇关于删除 帖子 p>
之前使用 DOMxpath,然后我遇到了这个问题!)
编辑:
如果我在输入中有这个,
$content = '<p><br/>hello<br/>hello<br/></p>';
那么应该是
<p>hello<br/>hello</p>'
How can I remove <br/>
if no text comes before or after it?
For instance,
<p><br/>hello</p>
<p>hello<br/></p>
they should be rewritten like this,
<p>hello</p>
<p>hello</p>
Should I use DOMxpath or regex would be better?
(Note: I have a post about removing <p><br/></p>
with DOMxpath earlier, and then I came across this issue!)
EDIT:
If I have this in the input,
$content = '<p><br/>hello<br/>hello<br/></p>';
then it should be
<p>hello<br/>hello</p>'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要选择提到的 br,您可以使用:
或者,(也许)更快:
当 p 的第一个(或最后一个)节点是 br 时,仅获取 br。
这将选择 br,如:
以及第一个和最后一个 br,如 in:
而不是中间 br,如:
PS:最终获得一对中的第一个 br,如下所示
< /代码>:
To select the mentioned br you can use:
or, (maybe) faster:
Just getting the br when the first (or last) node of p is br.
This will select br such as:
and first and last br like in:
not middle br like in:
PS: to get eventually the first br in a pair like this
<br/><br/>
:对于某些代码,我可以让它像这样工作(演示)。它对 @empo 的 xpath 进行了轻微修改(非常轻微),并显示了匹配项的删除以及更多测试用例:
In case for some code, I could get it to working like this (Demo). It has a slight modification from @empo's xpath (very slightly) and shows the removal of the matches as well as some more test-cases: