1
我想獲取某個網站的源代碼,並通過搜索來查找字符串。我做了這樣的事情:preg match - on string vs on file_get_contents()
$source = file_get_contents('http://website.com');
preg_match('/foobar/', $source, $match);
var_dump($match);
源包含表達我期待已久,傾倒$source
變量證明。但結果是一個空陣列。
的事情是,一切正常,結果是正確的,當我複製源,然後將其粘貼這樣的:
$source = <<<EOF
// paste here
EOF;
preg_match('/foobar/', $source, $match);
var_dump($match);
現在,它完美的作品。
什麼是錯,爲什麼會發生?謝謝!
你試過'var_dump($ sourceFromUrl === $ sourceFromPasting);'檢查你的輸入是否相同?這應該是你的第一個檢查點 –
仔細檢查你從file_get_contents('echo htmlentities($ source);')得到的字符串是你期望的。它可能會阻止php下載它的源代碼(用戶代理匹配,檢查會話),或者您看到的源代碼是從javascript生成的,file_get_contents不可訪問。 –