在字符串中找到 link 并更改为 HTML link
Locate link in string and change to HTML link
我知道类似问题还有其他答案,但是我已经尝试了我之前找到的代码示例,但无法使它们中的任何一个起作用。
我想定位一个字符串是否包含 url(以 http
或 https
开头),然后将 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);
}
我知道类似问题还有其他答案,但是我已经尝试了我之前找到的代码示例,但无法使它们中的任何一个起作用。
我想定位一个字符串是否包含 url(以 http
或 https
开头),然后将 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);
}