gpt4 book ai didi

php - 如何正则表达式匹配具有不同结尾的文本?

转载 作者:行者123 更新时间:2023-11-28 04:08:40 24 4
gpt4 key购买 nike

这就是我目前所拥有的。

<h2>Information</h2>\n  +<p>(.*)<br />|</p>
^ that is a tab space, didn't know if there was
a better way to represent one or more (it seems to work)

我正在尝试匹配“bla bla”。文本,但我当前的正则表达式不太有效,它将匹配大部分行,但我希望它匹配第一个

<h2>Information</h2>
<p>bla bla.<br /><br /><a href="http://www.google.com">google</a><br />

<h2>Information</h2>
<p>bla bla.</p> other code...

哦,还有我的 php 代码:

    preg_match('#h2>Information</h2>\n  +<p>(.*)<br />|</p>#', $result, $postMessage);                          

最佳答案

不要使用正则表达式来解析 HTML。 PHP 提供 DOMDocument可用于此目的。

话说你的正则表达式有一些错误:

  • 您需要用括号括起交替。
  • 你需要惰性修饰符。
  • 您不能键入“标题”来匹配“信息”。

经过这些更改,它看起来像这样:

<h2>.*?</h2>\n\t+<p>.*?(<br />|</p>)

你的正则表达式也很脆弱。例如,如果输入包含空格而不是制表符或行尾是 Windows 样式,则您的正则表达式将失败。使用适当的 HTML 解析器将提供更强大的解决方案。

关于php - 如何正则表达式匹配具有不同结尾的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566072/

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