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 に答える