首页 > 解决方案 > 如何在树枝生成的内容中查找图像并获取路径

问题描述

我是 PHP Symfony 和 Twig 的新手。如果有图像,我需要从帖子内容动态设置元属性 og:image。我有这样的树枝代码。

<div class="content">
{{ d.description|raw }}
</div>

如果有的话,我可以从 div 内容中获取图像 url,并使用 javascript 将其设置为元属性 og:image 但 Facebook 不解析 JavaScript?有没有办法在服务器端做到这一点?

标签: phptwig

解决方案


Facebook确实只读取页面的源代码,所以你无法通过js摆脱它,你必须依赖服务器端。

您必须使用 DOM 解析器在控制器中处理内容(您可以使用 PHP 自己的 DOMDocument 类https://www.php.net/manual/en/class.domdocument.php)并搜索img 节点(或缺少节点,以防您需要提供默认值)

一旦你找到图像的 src 的 url(用户提供或默认),将其作为变量传递给视图并在适当的meta标签内回显它。

不要忘记打印图像的完整路径,包括 Facebook 现在需要的域和协议。


推荐阅读