使用preg_replace()将URL转换为字符串中的链接

时间:2015-11-19 06:00:07

标签: php preg-replace

我正在尝试将网址转换为字符串中的链接

我有以下字符串:

$x="Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site.

我想转换[和]内的所有内容,将标题和内部(和)内的所有内容链接到href属性的值:

欢迎使用我的homepage,请查看我们的About us页面,了解有关此网站的更多信息。

我尝试了 preg_replace()功能,但它不起作用

$x="Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site";

echo preg_replace("/\[([^\]+)\]\(([^\)]+)\)/i","<a href='$2'>$1</a>",$x);

我在输出中得到相同的字符串:

Welcome to my [homepage](http://example.com) ,Please check our [About us](http://example.com/about-us) page for more info about this site.

我的代码有问题吗?

请帮忙!

2 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式,如

echo preg_replace("/\[(.*?)\]\((.*?)\)/","<a href='$2'>$1</a>",$x);

Regex

答案 1 :(得分:-1)

$x = str_replace("[homepage]", "<a href='www.example.com/homepage'>homepage</a>", $x);