我知道类似问题还有其他答案,但是我已经尝试过我之前找到的代码示例,并且无法使其中任何一个工作。
我想查找字符串是否包含网址(以http
或https
开头),然后通过在其周围添加<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
没有出现。我做错了什么?
答案 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);
}