正则表达式与新行

时间:2013-03-18 15:13:50

标签: php regex

我想从下面的代码中找到字符串 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);
?>

2 个答案:

答案 0 :(得分:2)

.*?将不会匹配任何东西,因为它是不情愿的,并且匹配尽可能少。由于在它之后没有表达式的其他部分,所以当它没有匹配时就完成了。使用.*因为它的所有贪婪只会匹配到行尾。请注意,无论您是否使用m修饰符,都是如此。

答案 1 :(得分:0)

preg_match_all("#<font color=\"white\">(.*?)\n#si", $mat, $mats);

有效!