我想使用preg_replace从远程页面获取一些数据,但是我在处理模式时遇到了一些问题。preg_replace地狱
function getData($Url){
$str = file_get_contents($Url);
if(strlen($str)>0){
preg_match("/\<span class=\"SectionHeader\"\>title\</span>/<br/>/\<div class=\"header2\"\>(.*)\</div\></span\>/",$str,$title);
return $title[1];
}
}
这里的HTML作为是我结束了在其掷百万斜线之前(貌似我忘了部分或两个):
<span class="cell CellFullWidth"><span class="SectionHeader">mytitle</span><br/><div class="Center">Event Name</div></span>
凡事件名称是我想要的数据返回我的功能。
非常感谢很多人,这是一个痛苦的屁股。
我不会用十英尺的杆子碰这个。要获得标题的方式要比扫描整个页面进行比赛更有效。你知道preg_match将返回一个数组,如果它为该条件找到多个匹配,那么正确吗? – animuson
我会用一个html解析器,比如http://simplehtmldom.sourceforge.net/ – marvin
就像之前很多次一样,我建议不要使用正则表达式来解析HTML,因为它们不适合这样做。改为使用HTML解析器。 –