链接预览脚本出错
error with link preview script
我有一个链接预览脚本的下面的代码,像facebook一样工作,但问题是,当我输入url https://www.facebook.com
而不是显示我的fb标志它显示我的谷歌chrome标志,它显示更新你的浏览器
<?php
$url = $_POST['url'];
$url = url_clean($url);
//clean url
function url_clean($ini_url)
{
$uri = trim($ini_url);
if (get_magic_quotes_gpc())
{
$uri = stripslashes($uri);
}
$uri = strtr($uri, array_flip(get_html_translation_table(HTML_ENTITIES)));
$uri = strip_tags($uri);
$uri = htmlspecialchars($uri);
return $uri;
}
//strip the url
function domain_strip($url)
{
if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED) === FALSE)
{
return false;
}
/*** get the url parts ***/
$parts = parse_url($url);
/*** return the host domain ***/
return $parts['host'];
}
//get the information
function get_dat($clean_url)
{
$web_site = fopen($clean_url, "r");
if (!$web_site)
{
exit("Error");
}
$info = '';
while (!feof($web_site))
{
$info .= fgets($web_site, 1024);
}
return $info;
}
$string = get_dat($url);
/// get title
$title_regex = "/<title>(.+)<'/title>/i";
preg_match_all($title_regex, $string, $title, PREG_PATTERN_ORDER);
$url_title = $title[1];
/// get decription
$tags = get_meta_tags($url);
// fetch images
$image_regex = '/<img[^>]*'.'src=['"|''](.*)['"|'']/Ui';
preg_match_all($image_regex, $string, $img, PREG_PATTERN_ORDER);
$images_array = $img[1];
?>
<div class="link_prev_container">
<!----image_cont----->
<?php
if(!$images_array)
{
echo '';
}
else
{
echo '<div class="image_holder">';
$k=1;
for ($i=0;$i<=sizeof($images_array);$i++)
{
if(@$images_array[$i])
{
if(@getimagesize(@$images_array[$i]))
{
list($width, $height, $type, $attr) = getimagesize(@$images_array[$i]);
if($width >= 50 && $height >= 50 ){
echo "<img src='".@$images_array[$i]."' width='100' id='".$k."' >";
$k++;
}
}
}
}
echo '</div>';
}
?>
<!----text inf----->
<div class="text_inf_holder">
<div class="title_container"><?php echo substr(@$url_title[0],0,40) ?></div>
<div class="brief_container"><?php echo @$tags['description']; ?></div>
<div class="link_container"><a class="link" href="<?php echo $url; ?>"><?php echo domain_strip($url) ?></a></div>
</div>
</div>
我的问题:什么是facebook的链接预览脚本搜索,上面的脚本不是吗?
将$web_site = fopen($clean_url, 'r');
替换为以下内容:
$opts = array (
'http' => array (
'method' => "GET",
'user_agent' => 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36',
)
);
$context = stream_context_create($opts);
$web_site = fopen($clean_url, 'r', false, $context);
它应该发送用户代理头,让Facebook认为你在使用chrome浏览器,并有希望绕过浏览器检查。
相关文章:
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- Java脚本将URL转换为已保存的URL时出错
- 从 java 脚本调用函数时 PHP 中出错
- 若语句出错,谷歌应用程序脚本
- JavaScript InvalidCharacterError 在编写文本框脚本时出错
- Casperjs-登录https网站的脚本出错
- 将Dropbox API脚本加载到chrome扩展时出错
- setHours()从电子表格导入的日期创建谷歌日历事件时出错-应用程序脚本
- 谷歌应用程序脚本:;范围不是函数,它是对象;尝试在单元格中放置注释时出错
- jQuery$(document).ready阻塞页脚脚本时出错
- 尝试将数组从内容脚本发送到弹出脚本时出现 Chrome 扩展程序时出错
- 避免在变量之一未定义所有脚本停止工作时出错
- 可以忽略“加载脚本时出错”js 错误吗?
- 运行 Screeps 游戏脚本时出错
- “尝试在清除的范围内运行编译和运行脚本” - 使用 Google Graph API 在 Drupal 中出错
- 上传到服务器时,外部jquery js脚本出错
- 在ASP.NET应用程序中使用母版页时注册客户端脚本块时出错
- Java脚本函数不;一个函数出错后无法工作
- PrimeFaces”;此页面上的脚本导致Internet Explorer运行缓慢“;DataTable出错
- 运行扫描脚本时出错