Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中与自定义网站上的图像和描述共享链接_Php_Jquery - Fatal编程技术网

如何在PHP中与自定义网站上的图像和描述共享链接

如何在PHP中与自定义网站上的图像和描述共享链接,php,jquery,Php,Jquery,如何在像linkedin、facebook这样的PHP定制网站上共享带有图片和描述的链接 如果用户共享任何有效链接,它会显示带有facebook和linkedin等描述的图像。您想了解有关facebook开放图元标记的信息。它们允许您编辑共享帖子的显示方式。有关这方面的更多信息可在本文中找到您需要获取给定URL的内容,可以使用file\u get\u contents或类似的方法,例如:和解析此URL的内容 让我们尝试一个非常基本的例子 $url = get_url_from_user_post

如何在像linkedin、facebook这样的PHP定制网站上共享带有图片和描述的链接


如果用户共享任何有效链接,它会显示带有facebook和linkedin等描述的图像。

您想了解有关facebook开放图元标记的信息。它们允许您编辑共享帖子的显示方式。有关这方面的更多信息可在本文中找到

您需要获取给定URL的内容,可以使用file\u get\u contents或类似的方法,例如:和解析此URL的内容

让我们尝试一个非常基本的例子

$url = get_url_from_user_post($user_post);
// get page contents (as html)
$page_contents = file_get_contents($url);

// search for title
// option 1
preg_match('~<meta\s+property="og:title"\s+content="(.*?)".*?>~um', $page_contents, $matches);
// option 2
preg_match("~<title>(.*)</title>~um", $page_contents, $matches);

$page_title = trim($matches[1]);

// search for an image
// option 1
preg_match('~<meta\s+property="og:image"\s+content="(.*?)".*?>~um', $page_contents, $matches);
// option 2
preg_match_all('~<img.*?src="(.*?)".*?>~um', $page_contents, $matches);
if (!empty($matches)) {
    // ... and get one of them

您有更多的选项来实现这一点,获取/解析页面的html内容。请参阅:,或使用PHP get_meta_标记获取meta标记。

好的,我得到的是您想要获取用户链接到的站点的图像和基本描述

要获得描述,最简单的方法是在php中使用get_meta_tags函数,并使用描述

$meta = get_meta_tags($some_url); 
//description will be stored in $meta['description'] if it was found from $some_url.
这依赖于站点提供适当的元标记,这并不总是对您有利,因此您需要一种备份方法,如文档标题或检查html中的单词或默认描述值,以防您根本得不到任何东西


要获取网站快照,您可以依赖第三方服务,如picoshot.com或websnapr.com/,但在很多情况下,这可能不是最好的选择。如果您想自己创建快照,您可以这样做,但过程会很复杂,您需要对服务器和环境进行大量控制,您可以查看一些类似于开始创建快照的内容。如果您有Linux这样的环境,该脚本将无法工作,因为它使用internet explorer浏览器捕获,您可以查看一些Linux解决方案。

在实现过程中,您遇到了哪些具体问题?是的,我已经尝试过,但我不喜欢facebook或linkedin。我想阅读任何url,并在我的网站上显示我的帖子。啊。。。好的,你想用fopen或curl获取你感兴趣的页面的HTML并解析HTML。如果用户在我的网站上发布任何链接,我会在facebook wall或linkedin等网站上寻找相同的功能。