gpt4 book ai didi

html - 用正则表达式替换每个

标记中的最后一个空格

转载 作者:行者123 更新时间:2023-12-04 16:50:39 26 4
gpt4 key购买 nike

我正在寻求帮助来创建一个正则表达式来将特定标签(例如 <p> )中的所有最后一个空格替换为 &nbsp;反而。快速修复大量 html 文档中的所有窗口。

例如;

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus suscipit
dolor a felis blandit sodales. Donec lectus justo, convallis vitae euismod sit.
Nullam et tristique&nbsp;dui.</p>
<p>Nullam accumsan pellentesque pretium. Morbi tempor egestas lectus,
a eleifend enim aliquet varius. Vivamus vitae semper&nbsp;tortor.</p>

我在 http://www.petefreitag.com/item/580.cfm 找到了这个例子

ReReplace(text, " ([^ ]+\r?\n)", "&nbsp;\1", "ALL")

但是它会将它添加到每个元素的最后一个空格中。

也感谢关于如何改进我写这个问题的方式的任何建议都很棒

最佳答案

这个问题比看起来要难一些,因为你可能有 <p>在结束标记 </p> 之前没有单词、只有一个单词、多个单词或大量空格的元素.您甚至可以在段落元素中嵌套元素,使您认为可能是孤立词而不是孤立词。更复杂的是,在许多版本的 HTML 中,结束标记 </p>实际上是可选的。

由于这些原因,建议use an HTML parser, and not just process your HTML file with a regex .

只有当你知道所有<p>元素是封闭的,<p> 中没有嵌套元素元素,以及所有 <p>元素有多个单词,你可以通过替换来逃避

(\S)\s+(\S+)\s*</p>

\1&nbsp;\2</p>

最后一个\s*可以加括号并添加 \3如果您想在结束标记之前保留间距,则添加到替换字符串。

虽然在没有 HTML 解析器的情况下做这样的事情之前我会小心。

关于html - 用正则表达式替换每个 <p> 标记中的最后一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com