我想创建一个类似于Facebook使用的发布功能(您将链接粘贴到文本框中,点击帖子并发布标题,描述和图像).我意识到最好提取具有og属性的元标记,例如“og:title”和“og:image”,因为如果我使用普通标记,有时它们会有换行符和其他类似的东西,它会出错.
有没有办法使用PHP获取这些标签的内容,但没有AJAX或其他自定义解析器?起点是:
<?PHP $url = $_POST['link']; ?>
解决方案是这样的:
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"); }