【问题标题】:Remove <br /> from inside <pre> </pre> tag从 <pre> </pre> 标签内移除 <br />
【发布时间】:2015-06-01 15:53:32
【问题描述】:

我制作了简单的 BBCode 脚本,一切正常。但后来我使用了一个 javascript 库来美化我在&lt;pre&gt;&lt;/pre&gt; 中的代码。

现在我面临的唯一问题是&lt;pre&gt;&lt;/pre&gt; 标签中的每一行代码后面都有&lt;br /&gt; 标签。

所以问题是我如何才能删除 ARE INSIDE&lt;pre&gt;&lt;/pre&gt; 标签的&lt;br /&gt; 标签。

一个带有 preg_replace 的正则表达式似乎是我需要的东西,但我找不到/制作一个来满足我的需要。我不太擅长正则表达式。 :S

【问题讨论】:

标签: php regex html-parsing preg-replace


【解决方案1】:

您能否提供一个您想测试的代码示例。

模式应该是这样的:'/.*&lt;pre&gt;.*(&lt;br \/&gt;).*&lt;\/pre&gt;/'

这是我尝试的链接: https://regex101.com/r/pV2qX8/2

注意:您可以反转捕获括号 - 只是为了向您展示它仅捕获了 &lt;br /&gt; 内的 &lt;pre&gt;&lt;/pre&gt;

注意 2: 关于子问题你可以找到答案:here

(Sub-Q : 多个 &lt;br /&gt; 有条件的实例)

【讨论】:

  • 如果你有更多的时间,它与新行之间的第二个&lt;br /&gt; 不匹配(它在
     标签中)
  • 我们需要帮助 :'(。我只是一个正则表达式学徒。找不到关于贪婪量词的解决方案。regex101.com/r/pV2qX8/5
  • 我也是。也许我会发布一个新问题来匹配这个换行符。非常感谢您的尝试 :)
  • 任何字符的非贪婪量词是 .*?但似乎我不能在组模式上使用。
  • 告诉你怪物会解决它 - 1 分钟 - 完成 - Kappa : stackoverflow.com/questions/30581985/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 2013-03-09
  • 2010-12-03
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
相关资源
最近更新 更多