我需要使用PHP解析DOM中的元描述和元关键字。我使用以下代码从DOM 中获取元描述和关键字
$tags = get_meta_tags($url);
$tags['description'];
$tags['keywords'];
以上代码适用于以下情况
<meta name="description" content="description goes here" />
<meta name="keywords" content="keywords1, keywords2" />
但在以下情况下失败
<meta http-equiv="keywords" content="keywords1, keywords1" />
<meta http-equiv="description" content="description goes here" />
似乎有一种方法可以使用"PHP Simple HTML DOM Parser"来实现这一点,但我希望在不使用它的情况下实现这一目标(因为这是我项目的唯一要求)。
有没有办法让它在这两种情况下都起作用?
如文档中所述,"只有具有名称属性的元标记才会被解析。".
您可以通过将目标页面复制到临时文件并在将临时文件传递给get_meta_tags()
函数之前修改页面文本来解决此问题
不过,这可能很脆弱,并且在页面同时具有使用name
的元标记和使用具有相同值的http-equiv
的元标记的情况下,这可能是不可预测的。