在学到PHP里面的preg之后,就一直很想用这个来抓出网页中我想要的资料

(网页是使用 file_get_contents( 'http://........' ); 取得的)

可是不管怎么尝试

就是抓不出我想要的东西

我还曾经几度怀疑我学的正则表达式是不是跟别人不一样...

后来干脆写了一个测试的网页

才真正发现了问题所在

原来PHP里面的 preg_match 和 preg_match_all 不把换行( \r\n 和 \n )视为万用字元 (.)

所以在下正则表达式时,就会遇上麻烦了...

所以我后来的解决办法是

先使用 str_replace(array("\r\n","\n"),array("",""),$html); 去除所有的换行

这样就成功解决的这个奇怪的问题~

相关文章