【发布时间】:2017-12-26 06:31:55
【问题描述】:
我有以下代码并试图从 html 页面中提取属性内容的值,但它没有给出我期望的任何结果,而是只给出空白页。
任何帮助可能是哪里的问题?
$url= "https://fr-ca.wordpress.org";
$html = file_get_contents($url);
# Create a DOM parser object
$dom = new DOMDocument();
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('meta') as $key ) {
echo "<pre>";
$tab[] = $key->getAttribute('content');
}
$reg= '<meta name="generator" content="(.*?)"/>';
if (preg_match_all($reg, $html, $ar)) {
print_r($ar);
}
页面来源有:
<meta name="generator" content="WP 4.5"/>
【问题讨论】:
-
我想你想打印 $ar 而不是 $tab。我相信 preg_match 参数是正则表达式、来源、结果。
-
不应将正则表达式用于
HTML抓取 -
@DarkBee 不确定它是否太离题,但你能推荐用于 HTML 抓取的最佳通用方法吗?
-
只使用你的示例代码中的 dom 解析器?