我想使用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解析器。 –