我正在使用此代码来链接Laravel帖子中的链接:
{!! preg_replace('@(http(s)?)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@', '<a href="http$2://$4" target="_blank" title="$0">$0</a>', nl2br(e($post))) !!}
但如果我输入:
您好。
你好吗?
我收到了这个奇怪的链接“你好./&gt;你好吗?”。
我该怎么办?我不知道如何使用正则表达式。我想只链接以http://,https://,www。开头的字符串,而不是像anyword.anydomain这样的链接。
答案 0 :(得分:2)
我找到的最佳解决方案是此库:https://github.com/misd-service-development/php-linkify
$linkify = new \Misd\Linkify\Linkify();
$text = 'This is my text containing a link to www.example.com.';
echo $linkify->process($text);
输出:
这是我的文字,其中包含指向www.example.com的链接。