0
は私がすべてのURLのタグで「」Webページからを取得しようと期待していない働いは、URLのは、すべてのタグ「」ウェブページから(PHP)で取得する方法は?私のコードは
例えば$text = file_get_contents ('http://stackoverflow.com/');
$preg = '/<a.+?href=(http:\/\/\w+?\..+?).*?>.+?<\/a>/';
preg_match_all($preg,$text,$result);
echo '<pre>';
print_r($result['1']);
echo '</pre>';
はその後、私は転送プロトコルが多分HTTPまたはHTTPS、私は正規表現を変えたのhref =多分「...」や「...」、そうは
'/<a.+?href=[\'"](http:\/\/\w+?\..+?)[\'"].*?>.+?<\/a>/';
に正規表現を変更すると思います
'/<a.+?href=[\'"](https?:\/\/\w+?\..+?)[\'"].*?>.+?<\/a>/';
しかし、それはまだ期待どおりに動作しませんでした。
'$のhtml = <<< 'HTML' <のhref = "javascriptを:無効(0)" のonClick = "window.open()"> HTML;タグaにJavaScriptまたは '#'がある場合、それらをフィルタリングする方法はありますか? – hlfshy
質問自体が回答します。要素の 'href'と' onclick'属性を読んでください。 – Sherif
申し訳ありませんが、私の英語は良くありません。つまり、あなたのコードを使用して、 'と'、どちらも出力されますが、最後のものを取得したい、唯一のURLを取得します。それは多分URLを区別するためにいくつかの正規表現または何かを使用していますか?ウェブページからのhrefは常にたくさんのタイプを持っていました。私はURLを選択するのに夢中でした。私はRegexを書くのに多くの時間を費やしました。 – hlfshy