如何获得URL的标题?

时间:2014-10-05 13:28:30

标签: javascript php jquery

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

1 个答案:

答案 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];
}