我是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