在字符串中找到链接并更改为HTML链接

时间:2015-02-11 12:15:03

标签: php regex preg-replace

我知道类似问题还有其他答案,但是我已经尝试过我之前找到的代码示例,并且无法使其中任何一个工作。

我想查找字符串是否包含网址(以httphttps开头),然后通过在其周围添加<a>标记将该链接转换为实际的HTML链接。< / p>

这是我的代码:

$text = 'Yummy brunch http://t.co/5AlmSPZeRd';

    if ((strpos($text,'http') !== false)) {
        echo "yep!";
        preg_replace('!(http|https)(s)?:\/\/[a-zA-Z0-9.?%=&_/]+!', "<a href=\"\\0\">\\0</a>", $text);
    }

虽然我的“是的!”消息确实显示(证明if语句正确),preg_replace没有出现。我做错了什么?

1 个答案:

答案 0 :(得分:2)

怎么样:

$text = 'Yummy brunch http://t.co/5AlmSPZeRd';

if ((strpos($text,'http') !== false)) {
    echo "yep!";
    $text = preg_replace('!https?://\S+!', "<a href=\"$0\">$0</a>", $text);
}