如何将URL文本设为链接?

jpj*_*pjp 2 php

在Facebook或Twitter上说,当我输入"www.google.com"并提交时,它就会成为一个链接.我如何用PHP编写代码?我是否使用正则表达式来获取www开始和.com结束的位置?

这是他们怎么做的?

<?PHP 
//some regular expression to get www and .com part
$link="<a href='$url'>$url</a>";
echo $link;
?>
Run Code Online (Sandbox Code Playgroud)

如何编写正则表达式以获取"www"和".com"部分?

而对于Twitter的@obama,奥巴马将成为奥巴马网站的链接.他们使用什么正则表达式来获取@之后和空格之前的文本?

mik*_*iku 7

<?php

$str = "Lorem http://myyn.org dolor sit amet, http://google.com adipisicing ..";

$str = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is",
                    "\\1<a href=\"\\2\">\\2</a>", 
                    $str); 

echo $str . "\n";

?>
Run Code Online (Sandbox Code Playgroud)

例:

$ php 2935574.php 
Lorem <a href="http://myyn.org">http://myyn.org</a> dolor sit amet, \
<a href="http://google.com">http://google.com</a> adipisicing elit.
Run Code Online (Sandbox Code Playgroud)