Php 在MODX中获取页面正文内容

Php 在MODX中获取页面正文内容,php,meta-tags,modx,modx-resources,Php,Meta Tags,Modx,Modx Resources,我的MODX站点需要从所有页面抓取第一张图像作为opengraph元标记,它将插入所有模板的Head块中 问题在于并非所有图像都位于页面的内容部分。一些位于块内,另一些位于电视内。(从内容中查找图像标记不是问题。) 可以获取所有块和电视,并循环它们的值以检查图像 但是有没有办法获取资源的内容呢 可能有几种方法,您可以尝试编写一个插件来解析页面的整个内容,看起来OnWebPageComplete事件可能就是要使用的(} 您可以尝试从缓存中获取资源,请记住,在未缓存的页面中调用的任何chnk/sni

我的MODX站点需要从所有页面抓取第一张图像作为opengraph元标记,它将插入所有模板的Head块中

问题在于并非所有图像都位于页面的
内容部分。一些位于块内,另一些位于电视内。(从内容中查找图像标记不是问题。)

可以获取所有块和电视,并循环它们的值以检查图像


但是有没有办法获取资源的
内容呢

可能有几种方法,您可以尝试编写一个插件来解析页面的整个内容,看起来OnWebPageComplete事件可能就是要使用的(}

您可以尝试从缓存中获取资源,请记住,在未缓存的页面中调用的任何chnk/snippets/TVs都不会显示在资源缓存文件中

加载资源后,您可以获得电视列表,然后使用获取值

如果你在一个块中有一个图像,可能会工作[可能,我从来没有尝试过这样使用它]来获取它的内容,但我会想象一个块中的图像将来自一个电视~因此你应该能够使用getTVValue检索它

您也可以只为OpenGraph图像设置一个TV,并逐页显式设置它


可能写一个插件&一些正则表达式是最不痛苦的方式。

谢谢。我在网站的博客部分为Graph设置了一个电视。问题是我想从一个片段中获取图像(对于相同的$head块,并防止重复值)。从特定模板获取图像不是问题。我需要检查所有块的标记和所有电视的图像路径。最大的问题是如果输入只是文本而不是图像。我认为在页面加载之前获取正文内容是一个好办法。我如何在WebPageComplete上获取html输出?嗯,在反思时你会这样做可能希望从缓存中获取渲染的资源。否则,无论使用何种方法,都会再次渲染资源。