0

我想<FONT COLOR="#0000ff">(insert some text here)<\/FONT>用 preg_match 获取。与此类似的线条会重复并相互接触,所以如果我尝试一些通用<FONT COLOR="#0000ff">(?<NAME>+)<\/FONT>的东西,它会将所有这些线条作为一个单元格获取。所以我[^<]坚持让它在第一次比遇到的时候停止,从而防止它包含 HTML 并因此成为一个单元格......

但是,我获取的文本有时包含我想要的 HTML。有没有办法使用[^]with </F?我的负面展望没有奏效,因为它说“是的,最后肯定有一个结束字体标签。最好不要返回任何东西。”

4

1 回答 1

2

如果我理解正确,您需要一个正则表达式来执行非贪婪匹配。例如,

如果查询字符串是:<x> abc </x> <x> def </x> <x> hig </x>

我们的正则表达式是:/<x>(.*)<\/x>/

然后执行贪婪匹配,返回的是整个查询字符串,因为它满足 RegEx。为了避免它,我们使用非贪婪匹配。

新的正则表达式:/<x>(.*?)<\/x>/

它应该返回所有三个标签preg_match_all()

于 2012-08-12T04:04:37.300 回答