if ($link == true) {
// Links
$link_search = '/\[a\](.*?)\[\/a\]/i';
if (preg_match_all($link_search, $text, $matches)) {
foreach ($matches[1] as $match) {
$match_decode = urldecode($match);
$match_url = $match_decode;
if (!preg_match("/http\:\/\//", $match_decode)) {
$match_url = 'http://' . $match_url;
}
$text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $match_decode . '</a>', $text);
}
}
}
上面的代码显示发布的链接,点击后重定向到链接。我想要的是显示目标链接。对于前者Stackoverflow显示在帖子中,单击时将用户带到http://stackoverflow.com
答案 0 :(得分:0)
尝试更换:
$text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $match_decode . '</a>', $text);
使用:
$str = file_get_contents($match_url);
preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
$text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $title[1] . '</a>', $text);
获取图片:
preg_match("/\<img\>(.*)\<\/img\>/",$str,$img);
你将在$ img中获得一个数组,你将不得不循环遍历它:
for($i=0; $i<count($img); $i++){
echo $img[$i];
}