我想刮取网站的所有页面并获得meta tag description
,如<meta name="description" content="I want to get this description of this meta tag" />
类似地,对于所有其他页面,我希望获得它们各自的meta description
这是我的代码
add_action('woocommerce_before_single_product', 'my_function_get_description');
function my_function_get_description($url) {
$the_html = file_get_contents('https://tipodense.dk/');
print_r($the_html)
}
这个print_r($the_html)
给了我整个网站,我不知道如何得到每个页面的 meta描述
请引导我谢谢
2条答案
按热度按时间cotxawn71#
你必须了解preg_match和regex表达式。这里很简单:
https://regex101.com/r/JMcaUh/1
描述由捕获组()捕获并保存在
$matches[0][1]
中编辑:DOMDocument也是一个很好的解决方案,但是假设你只想要描述,使用regex对我来说看起来更容易!
kgsdhlau2#
解析HTML文件的更好方法是使用
DOMDocument
,并且在许多情况下,将其与DOMXPath
结合起来,在DOM上运行查询,以查找感兴趣的元素。例如,在您的情况下,提取 meta描述,您可以:
得到:
使用站点Map(或部分Map),您可以这样做: