[PHP]正規表現でリンクを取得
htmlからリンクだけを抜き出したい
それじゃあ正規表現だ
ここを参考に取得したhtmlを使って、リンクを抜き出します。
リンクなので、[ <a href=”http://hogehoge”>hogehoge</a> ]ってのを抜き出せば良いことになります。
下記のような正規表現で取得できます
&amp;lt;?php function getLinks($html){ $preg_string = '/&amp;lt;a[^&amp;gt;]hrefs?=s?["']([^"']+)["'][^&amp;gt;]*&amp;gt;/i'; preg_match_all($preg_string, $html, $out, PREG_PATTERN_ORDER); return $out[1]; } ?&amp;gt;
$out[0]だと、<a href= … も含まれた状態の配列で、検索結果が返ってきます。
$out[1]だと、リンクのurlのみ返ってきます。