【发布时间】:2011-12-26 06:54:42
【问题描述】:
这是我的功能:
function makeClickableLinks($s) {
return preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $s);
}
$description = $_POST['description'];
echo makeClickableLinks($description);
$_POST['description'] 是一个表单文本区域,稍后将插入到 MySQL 表中。
我希望允许用户在此输入字段中创建链接。当我使用此功能时,用户输入的数据如下所示:
Whats up guys. Here's my website! Please check it out!!
<a href="google.com">hi</a>
现在是一个可点击的链接,但链接到:
http://(myurl).com/google.com
它认为链接是一个子目录。有任何想法吗?谢谢!
【问题讨论】:
-
您必须在链接前加上 http://(或 https://,或其他任何内容),否则它会被视为相对链接并附加到当前查看的 URL。