【问题标题】:`get_meta_tags` didn't read og:image`get_meta_tags` 没有读取 og:image
【发布时间】:2018-08-24 09:17:43
【问题描述】:

我想从 URL 中读取 og:image 元标记。我想使用get_meta_tags,但它不返回此元标记的值。

这是什么原因,我该如何解决?

代码

<?php
$tags = get_meta_tags('https://stackoverflow.com/');
?>
<pre>
    <?php
        print_r($tags);
    ?>
</pre>

HTML 输入

 <meta property="og:type" content= "website" />
 <meta property="og:url" content="https://stackoverflow.com/"/>
 <meta property="og:site_name" content="Stack Overflow" />
 <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded" />
 <meta name="twitter:card" content="summary"/>
 <meta name="twitter:domain" content="stackoverflow.com"/>
 <meta name="twitter:title" property="og:title" itemprop="title name" content="Stack Overflow - Where Developers Learn, Share, &amp; Build Careers" />
 <meta name="twitter:description" property="og:description" itemprop="description" content="Stack Overflow | The World’s Largest Online Community for Developers" />

结果

   Array
(
    [description] => Stack Overflow is the largest, most trusted online community for developers to learn, share​ ​their programming ​knowledge, and build their careers.
    [viewport] => width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0
    [twitter:card] => summary
    [twitter:domain] => stackoverflow.com
    [twitter:title] => Stack Overflow - Where Developers Learn, Share, & Build Careers
    [twitter:description] => Stack Overflow | The World’s Largest Online Community for Developers
)

【问题讨论】:

  • @Batteredburrito 这不是一个重复的问题。我问为什么get_meta_tags没有读og:image....我不想用file_get_contains
  • @yivi 是正确的。谢谢

标签: php get-meta-tags


【解决方案1】:

这行不通。

get_meta_tags 使用元标记的name 属性来填充数组键。

如果您检查要从中获取此值的页面的 HTML,您会看到:

 <meta property="og:type" content= "website" />
 <meta property="og:url" content="https://stackoverflow.com/"/>
 <meta property="og:site_name" content="Stack Overflow" />
 <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded" />

如您所见,这些标签都没有name 属性,因此函数不可能将这些值分配给任何键。

您必须使用不同的方法来获取这些元标记。

【讨论】:

    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2014-11-20
    相关资源
    最近更新 更多