我是Php的新手,想做一個preg_match
來抓取本地HTML文件中的數據。我寫了下面的代碼:
preg_match('#\<span class=\"creativeT\" id=\"SCreativeDesc1\">(.*?)\<\/span>#',$html,$creativedesc);
它正常工作時的具體SCreativeDesc「1」,但是當我把它放在一個循環與$ I(即SCreativeDesc $ I),它激發了我的錯誤。
for ($i=1;$i<=$totalCreatives;$i++){
preg_match('#\<span class=\"creativeT\" id=\"SCreativeDesc$i\">(.*?)\<\/span>#',$html,$creativedesc);
}
要麼我把:
for ($i=1;$i<=$totalCreatives;$i++){
preg_match('#\<span class=\"creativeT\" id=\"SCreativeDesc" . $i . "\">(.*?)\<\/span>#',$html,$creativedesc);
}
它也不能正常工作,可我怎麼做一個循環?正如在HTML中它重複了大約100次,我不想寫這個抓取100行。
你不能只在正則表達式模式中放置一個變量。 – Jack 2012-04-22 06:16:01
嗯,是的,你可以,PHP會將它解釋爲一個字符串,如果你使用雙引號而不是單引號,然後正則表達式只是看到字面值,則替換爲變量的值。 – hackartist 2012-04-22 06:19:09
你可以使用:\ d {1,3}' – hjpotter92 2012-04-22 06:20:47