我想用preg_match获取<FONT COLOR="#0000ff">(insert some text here)<'/FONT>
。类似的行是重复的,相互接触,所以如果我尝试像<FONT COLOR="#0000ff">(?<NAME>+)<'/FONT>
这样的通用的东西,它会将它们作为一个单元格获取。所以我加入了[^<]
,让它在第一次停止的时间比它遇到的要少,从而防止它包含 HTML,因此成为一个单元格......
但是,我正在获取的文本有时会包含我想要的 HTML。有没有办法将[^]
与</F
一起使用?我试图对前景进行负面展望的尝试没有奏效,因为它会说"是的,最后肯定有一个结束字体标签。最好不要归还任何东西。
如果我理解正确,你需要一个正则表达式来执行非贪婪匹配。例如,
如果查询字符串为:<x> abc </x> <x> def </x> <x> hig </x>
我们的正则表达式是:/<x>(.*)<'/x>/
然后执行贪婪匹配,返回的是整个查询字符串,因为它满足正则表达式。为了避免它,我们使用非贪婪匹配。
新正则表达式:/<x>(.*?)<'/x>/
它应该返回所有三个带有preg_match_all()
标签