【问题标题】:Regular expression to remove HTML line breaks at end of string用于删除字符串末尾的 HTML 换行符的正则表达式
【发布时间】:2021-11-24 06:39:07
【问题描述】:

我正在尝试从字符串中删除所有尾随 HTML 换行符。例如<br><br/> 等。

所以这个:

<br /> remove HTML breaks after this string    <br/><br><br /><br/><br><br /><br  /><br/>

必须变成这样:

<br /> remove HTML breaks after this string

我在这里检查过:

到目前为止我所拥有的 ([&lt;br\/&gt;|&lt;br&gt;|&lt;br \/&gt;])?,但它匹配所有换行符,包括空格

现场测试:https://regex101.com/r/XuWYqx/1

【问题讨论】:

标签: html regex line-breaks trailing


【解决方案1】:

您可以使用此正则表达式匹配所有尾随 br 标签:

\s*(?:<br\s*\/?>)+\s*$

用空字符串替换它。

Updated RegEx Demo

正则表达式详细信息:

  • \s*:匹配 0 个或多个空格
  • (?:&lt;br\s*\/?&gt;)+:匹配 &lt;br 后跟 0 个或多个空格,后跟可选的 / 并关闭 &gt;。重复此比赛 1 次或多次
  • \s*: 匹配 0 个或多个空格
  • $: 行尾

【讨论】:

    【解决方案2】:

    这应该可行:

    /(<br \/> [\d\D]+)\s+<br/gmU
    

    它将所有内容都放在第一组中的第一个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-23
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多