可能重复:
如何使用 PHP 解析和处理 HTML?
我正在尝试使用 PHP 和正则表达式从外部页面获取所有超链接。我关心抓取的链接结构如下:
<li class="magic"><a href="http://blah.com">TargetText1</a></li>
<li class="magic"><a href="http://blah.com">TargetText2</a></li>
请记住,我正在尝试获取锚文本而不是 url。我有下面的代码工作,但它只是刮掉页面上的所有链接。我试图抓取只用上面列出的 li 类包装的链接。
$url = "http://www.example.com";
$input = @file_get_contents($url) or die("Could not access file: $url");
$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
if(preg_match_all("/$regexp/siU", $input, $matches)) {
print_r($matches);
}