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

Locate link in string and change to HTML link

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

我想定位一个字符串是否包含 url(以 httphttps 开头),然后将 link 转换为实际的 HTML link 通过在其周围添加 <a> 标签。

这是我的代码:

$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);
    }

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

怎么样:

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

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