0

我想要下面代码中的字符串FC Barcelona v BM Huesc 、 FC Ferrari v BM ameriF 和 C semari v AM buhari

$mat = '<font color="white">FC Barcelona v BM Huesca

<font color="white">FC Ferrari v BM ameri

<font color="white">FC semari v AM buhari
';

我尝试了下面的代码,但它似乎不起作用。任何帮助将不胜感激。谢谢

preg_match_all('/<font color="white">(.*?)/',$mat,$mats);
var_dump($mats);

编辑:我的实时示例如下

<?php
$game = file_get_contents("http://www.firstrow1.eu/bet365/index.html");
preg_match_all('/<\/td><td><font color="white">(.*)/m',$game,$mats);
var_dump($mats);
?>
4

2 回答 2

2

.*?将不匹配任何内容,因为它不情愿并且尽可能少地匹配。由于它后面没有表达式的其他部分,因此它在没有匹配到任何内容时完成。使用.*它是因为它的贪婪只会匹配到行尾。请注意,无论您是否使用m修饰符,这都是正确的。

于 2013-03-18T15:23:41.837 回答
0
preg_match_all("#<font color=\"white\">(.*?)\n#si", $mat, $mats);

有用!

于 2013-03-18T15:24:53.470 回答