douhui4831 2012-02-09 02:57
浏览 28
已采纳

在php中从textarea拆分url

I don't have much knowledge about regular expression. I found this code to detect link or you can say to insert link that is written in textarea

$url = 'this is just a link http://stackoverflow.com/ to test';
$text = preg_replace("
  #((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie",
  "'<a href=\"$1\" target=\"_blank\">$3</a>$4'",
  $url
);
echo $text;

output: this is just a link stackoverflow.com to test

But i need to separate the link into a variable from that text area. For example variable $var = http://stackoverflow.com so that i can work with the link.

  • 写回答

3条回答 默认 最新

  • duanlvxi8652 2012-02-09 03:03
    关注

    You can try in this way:

    $text = 'this is just a link http://stackoverflow.com/ to test';
    $regex = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
    if(preg_match($regex, $text, $url)) { // $url is now the array of urls
      // here you should check $url content and length
      echo $url[0]; // the first one in this case
    }
    else {
      // no urls found
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部