在PHP字符串中查找链接并将其转换为超链接?

时间:2013-10-16 04:26:18

标签: php

在PHP字符串中找到链接并将其转换为超链接,使其变为可点击并在新标签页中打开。

PHP代码/字符串:

<?php echo $post_details['description']; ?>

测试链接:

http://www.test.com

2 个答案:

答案 0 :(得分:0)

使用此库。它会自动检测字符串中的链接并使其可单击。您不需要创建链接只需添加一个包含链接的字符串。该库将自动检测它。

http://soapbox.github.io/jQuery-linkify/

答案 1 :(得分:-2)

使用此示例解决您的问题

<?php

function makeClickableLink($text) {
    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1">\\1</a>', $text);
    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1<a href="http://\\2">\\2</a>', $text);
    $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})', '<a href="mailto:\\1">\\1</a>', $text);
    return $text;
}

// Usage 

// Email address example
$text = "you@example.com";
echo makeClickableLink($text);

// URL example
$text = "http://www.example.com";
echo makeClickableLink($text);  

// FTP URL example
$text = "ftp://ftp.example.com";
echo makeClickableLink($text); 

?>