使用PHP从URL中获取“property og”元标记

前端之家收集整理的这篇文章主要介绍了使用PHP从URL中获取“property og”元标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个类似于Facebook使用的发布功能(您将链接粘贴到文本框中,点击帖子并发布标题,描述和图像).我意识到最好提取具有og属性的元标记,例如“og:title”和“og:image”,因为如果我使用普通标记,有时它们会有换行符和其他类似的东西,它会出错.

有没有办法使用PHP获取这些标签内容,但没有AJAX或其他自定义解析器?起点是:

<?PHP

$url = $_POST['link'];

?>

我们通过POST方法上一页获取URL,但是如何完成剩下的工作呢?

解决方案是这样的:
libxml_use_internal_errors(true);
$c = file_get_contents("http://url/here");
$d = new DomDocument();
$d->loadHTML($c);
$xp = new domxpath($d);
foreach ($xp->query("//Meta[@property='og:title']") as $el) {
    echo $el->getAttribute("content");
}
foreach ($xp->query("//Meta[@property='og:description']") as $el) {
    echo $el->getAttribute("content");
}

猜你在找的PHP相关文章