为了账号安全,请及时绑定邮箱和手机立即绑定

用 PHP 中相同域的链接替换纯文本

用 PHP 中相同域的链接替换纯文本

PHP
凤凰求蛊 2021-07-06 13:50:56
我正在用链接替换纯文本,但我做错了。我尝试了该preg_replace()功能,但它似乎根本无法解决我的问题。$string = 'This is a message with multiple links: http://google.com http://twitter.com http://google.com/qwerty http://facebook.com http://google.com/ytrewq';preg_match_all('/(^|\s)((http(s)?\:\/\/)?[\w-]+(\.[\w-]+)+[^\s]*[^.,\s])/u', $string, $url);$links = $url[2];foreach($links as $link){    $final_string = str_replace($link, '<a href="'.$link.'">'.$link.'</a>', $string);}echo $final_string;请注意,三个链接来自同一个域http://google.com,因此在替换第一个链接时,它会在其他链接中这样做。foreach我用于需要为每个链接执行的函数的循环(我不写它,因为它现在不重要)。我希望能够单独处理所有链接,并且共享域的链接不会相互踩踏。我得到的输出:This is a message with multiple links: <a href="http://google.com">http://google.com</a> <a href="http://twitter.com">http://twitter.com</a> <a href="http://google.com">http://google.com</a>/qwerty <a href="http://facebook.com">http://facebook.com</a> <a href="http://google.com">http://google.com</a>/ytrewq我希望的输出:This is a message with multiple links: <a href="http://google.com">http://google.com</a> <a href="http://twitter.com">http://twitter.com</a> <a href="http://google.com/qwerty">http://google.com/qwerty</a> <a href="http://facebook.com">http://facebook.com</a> <a href="http://google.com/ytrewq">http://google.com/ytrewq</a>
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信