ホームページ >バックエンド開発 >PHPチュートリアル >以下のhrefを取得するための正規表現の書き方についてアドバイスをいただきたいです。
php regex
test.html<!DOCTYPE html><html> <head>test</head> <body> <a id="a5" href="111">wawa</a> <a id="a6" href="222">hehe</a> <a id="a7" href="333">haha</a> <a id="a8" href="444">uuuu</a> ...... <b> <a id="a1" href="111">wawa</a> <a id="a2" href="222">hehe</a> <a id="a3" href="333">haha</a> <a id="a4" href="444">uuuu</a> </b> ........ </body></html>
$html = <<<TTT<!DOCTYPE html><html> <head>test</head> <body> <a id="a5" href="111">wawa</a> <a id="a6" href="222">hehe</a> <a id="a7" href="333">haha</a> <a id="a8" href="444">uuuu</a> ...... <b> <a id="a1" href="111">wawa</a> <a id="a2" href="222">hehe</a> <a id="a3" href="333">haha</a> <a id="a4" href="444">uuuu</a> </b> ........ </body></html>TTT;preg_match_all('@<b>([^`]*?)<\/b>@i',$html,$match);preg_match_all('@href="(.+?)"@i',$match[0][0],$matches);var_dump($matches);
$html = <<<TTT<!DOCTYPE html><html> <head>test</head> <body> <a id="a5" href="111">wawa</a> <a id="a6" href="222">hehe</a> <a id="a7" href="333">haha</a> <a id="a8" href="444">uuuu</a> ...... <b> <a id="a1" href="111">wawa</a> <a id="a2" href="222">hehe</a> <a id="a3" href="333">haha</a> <a id="a4" href="444">uuuu</a> </b> ........ </body></html>TTT;preg_match_all('@<b>([^`]*?)<\/b>@i',$html,$match);preg_match_all('@href="(.+?)"@i',$match[0][0],$matches);var_dump($matches);
ただし、正規表現に加えて、simplehtmldom などの DOM 解析も使用できます
~a4b561c25d9afb9ac8dc4d70affff419s*(0bcb7b2e594d5e34d3ef37795cd2b627]+href="(.*?)">.*?5db79b134e9f6b82c0b36e0489ee08ed)*?s*0d36329ec37a2cc24d42c7229b69747a~msi
それはそれです、自分で調整してください