在一个大型HTML文档中,我有多行如下所示。"TEST"值可能不同。我想拿起TEST
或其他什么东西。
<TD width=300 valign=top><FONT COLOR=800000 size=3>TEST</FONT><BR>
我有一个正则表达式:
$regex = "/<FONT COLOR=800000 size=3>['w.&,'s]*<'/FONT>/";
它收集了所有看起来像我上面发布的行。我怎么能,而不是整条线,只拿起测试。
$regex = "/<FONT COLOR=800000 size=3>(['w.&,'s]*)<'/FONT>/";
preg_match($regex, $string, $matches);
您将在$matches
数组中拥有所有匹配项,$matches[1]
应该是您的"测试"。
首先,必须链接。
如果你真的想用正则表达式表达它,在['w.&, ]*]
周围放上括号,并将内容捕获到一个组中,然后读取组而不是整个匹配编辑我看到@boobiq向你展示了如何做到这一点,所以我不会这么做。:p
您可能想要使用组,因此将正则表达式更改为:
"/<FONT COLOR=800000 size=3>(['w.&, ]*)<'/FONT>/"
圆括号表示组。
理想情况下,您永远不应该使用regex解析HTML(为什么不呢?)。。。您应该使用像PHP Simple HTML DOM Parser这样的框架。