我正在从具有此类数据(我只复制了其中一部分)的网站上使用file_get_contents:
<TD class=cellres align=left><a href=results.php?team=Wolves&league=EngPrem>Wolves</a></TD> <TD class=cellres align=left><a href=results.php?team=Liverpool&league=EngPrem><b>Liverpool</b></a></TD>
这是我的preg_match代码:
preg_match('/<TD class=cellres align=left><a href=results.php?team=.*&league=.*>(.*?)<\/TD> /',$contents,$home);
echo $home[1] . '<br>';
如您所见,我正在使用多个通配符,“ team =“需要一个通配符,而“ league =”需要另一个通配符,所有数据具有不同的团队和联赛。我想要的数据是“狼”,它在标签之前。我不确定上面的代码有什么问题,因为它没有显示任何数据。有人知道为什么吗?
答案 0 :(得分:1)
您没有在模式中转义特殊字符。记录下来,使用dom解析器可以取得更好的长期成功,例如DomDocument以及Xpath。
这应该可以解决您的问题。
/<TD class=cellres align=left><a href=results\.php\?team=[^>]*&league=[^>]*>(.*?)<\/a><\/TD>/