php – 如果之前或之后没有文字,我如何删除? DOMxpath还是正则表达式?

如何删除< br />如果之前或之后没有文字?

例如,

他们应该像这样重写,

我应该使用DOMxpath还是正则表达式会更好?

(注意:我之前有一个关于删除< p>< br />< / p>和DOMxpath的post了,然后我遇到了这个问题!)

编辑:

如果我在输入中有这个,

$content = '

那应该是

最佳答案
要选择提到的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,例如:

和第一个和最后一个像:

不喜欢中:

PS:最终得到像这样的一对中的第一个br< br />< br />:

"//br[following::node()[1][self::br]]"

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些