Php Facebook链接是如何破坏页面的?

Php Facebook链接是如何破坏页面的?,php,facebook,Php,Facebook,因此,当用户将链接粘贴到facebook状态时,它会发出一个电话以获取该页面的详细信息 我想知道的是,是否有人有任何类似的功能来撕开一页 考虑到这一点,得到的结果只是匹配一些正则表达式 然后它通常会得到一个图像数组,使用正则表达式也很容易,可能会过滤太小的图像 我有点困惑它是如何找出哪些文本是相关的,有什么想法吗?也许看看像这样的文章提取器可能会有所帮助?正则表达式由于其层次结构,不利于解析html。您需要使用DOMDocument类 这将把页面源转换为XML对象。您应该能够很容易地找到如何使

因此,当用户将链接粘贴到facebook状态时,它会发出一个电话以获取该页面的详细信息

我想知道的是,是否有人有任何类似的功能来撕开一页

考虑到这一点,得到的结果只是匹配一些正则表达式

然后它通常会得到一个图像数组,使用正则表达式也很容易,可能会过滤太小的图像


我有点困惑它是如何找出哪些文本是相关的,有什么想法吗?

也许看看像这样的文章提取器可能会有所帮助?

正则表达式由于其层次结构,不利于解析html。您需要使用DOMDocument类

这将把页面源转换为XML对象。您应该能够很容易地找到如何使用XPath查询获取相关详细信息

您可能还想看看php函数get_meta_tags()


值得一提的是,自从引入该支持以来,在解析(删除)使用该协议的页面时,它节省了大量的时间和服务器负载

查看以获取更多信息,下面是一个使用其中一个库()的小示例:


对于没有实现它的站点来说是无用的-这可能是majority@Yarin,这与问题有何关系?显然,当OG元标记不存在时,会有另一个(回退)解析器查找
title
标记……etcHe提出了一个关于Facebook链接抓取工作原理的一般性问题,这是一个相当复杂的过程。你的回答可能是一个评论,但实际上并没有回答他的问题。
include "OpenGraphNode.php";

# Fetch and parse a URL
#
$page = "http://www.rottentomatoes.com/m/oceans_eleven/";
$node = new OpenGraphNode($page);

# Retrieve the title
#
print $node->title . "\n";    # like this
print $node->title() . "\n";  # or with parentheses

# And obviously the above works for other Open Graph Protocol
# properties like "image", "description", etc. For properties
# that contain a hyphen, you'll need to use underscore instead:
#
print $node->street_address . "\n";

# OpenGraphNode uses PHP5's Iterator feature, so you can
# loop through it like an array.
#
foreach ($node as $key => $value) {
    print "$key => $value\n";
}