用substr()函数去截取!然后用str_replace()去替换!请查看PHP函数手册!

解决方案 »

  1.   

    str_replace? 好象用不着
    //原理:取出字符串中从 "http://" 开始至第一个空格的部分,作为 url,然后用 url 生成所需要的结果
    $str = "asdklfjlaksjdfkljasl http://www.xxxxx.com/xxxx/xxx.php?xx=test asdfkajlsdkjfowiefjlaskdfl";
    $start = strpos($str, "http://");  //或 "http://www.",取决于URL类型
    if ( is_int($start) )
    {
        $end = strpos($str, " ", $start+7); //从 $start+7 开始查找空格
        if ( !is_int($end) ) //如果未找到空格,则以 $str 结尾为 url 结尾
            $end = strlen($str);
        $url = substr($str, $start, $end - $start);
        $result = '<a href="' . $url . '>' . $url .'</a>';
    }
    else //如果未找到 http:// 则没有 url
    {
        print "no http url found!";
        $result = '';
    }
      

  2.   

    嗯,都对,整理一下。
    <?php
    $str = "asdklfjlaksjdfkljasl http://www.xxxxx.com/xxxx/xxx.php?xx=test asdfkajlsdkjfowiefjlaskdfl";
    $start = strpos($str, "http://"); /* 或 "http://www.",取决于URL类型 */
    $end = strpos($str, " ", $start+7); /* 从 $start+7 开始查找空格 */if (is_int($start)){
    if ( !is_int($end) ){ /* 如果未找到空格,则以 $str 结尾为 url 结尾 */
    $end = strlen($str);
    }
    $url = substr($str, $start, $end - $start);
    $result = "<a href=\"{$url}\">{$url}</a>";
    }
    else { /* 如果未找到 http:// 则没有 url */
    $result = $url;
    }echo $str;
    $str = str_replace($url, $result, $str);
    echo "<br><br>".$str;
    ?>