你可以先判断你的标题可显示多少字符(一个汉字算2个字符)
然后用函数判断超过的字符就用........代替,
你可以访问www.ahut.edu.cn的新闻就是这么做的!

解决方案 »

  1.   

    preg_match_all("/(^[http:\\/\\/]([a-z0-9]+\\.)+[a-z]{2,4}$)/is", $str, $out);print_r($out[1]);
    没有测试,表达式应该会有错,自己修正
      

  2.   

    sorry,错的很多
    preg_match_all('/([http:\/\/].+)/i', $str, $out);
    这样是试试吧,最完美的我不会写
      

  3.   

    preg_match_all('/([http:\/\/].+)/i', $row[text], $out);
    echo "<div align=center>\n";
    $p=0;
    while ($out[1][$p]){
    echo "<a href='".$out[1][$p]."'>".$out[1][$p]."</a><br>";
    $p=$p+1;
    }
    echo "</div>\n";嘿嘿,昨晚这样试了一下,只要是回车换行,网址都可以取了
    qsnake的表达式没错,非常感谢,现在还在研究这个函数,大体懂了一点。
    但是不能取出连续的,另外加个参数PREG_PATTERN_ORDER后,取到的数量不知该怎么获得,为什么总是显示零呢,只好通过这种判断方法解决了
    ……
      

  4.   

    楼上的,应该可能使用list和each配合来读数组呀。
      

  5.   

    count($out[1])取得数量
    建议用foreach遍历数租