如何在PHP中与自定义网站上的图像和描述共享链接
如何在像linkedin、facebook这样的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
如果用户共享任何有效链接,它会显示带有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等网站上寻找相同的功能。