文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一个对超长标题截断的函数

一个对超长标题截断的函数

时间:2008-04-18  来源:慕良文王

function substrgb($in,$num){
        $pos=0;
        $out="";
        while($c=substr($in,$pos,1)){
            if($c=="\n") break;
            if(ord($c)>128){
                $out.=$c;
                $pos++;
                $c=substr($in,$pos,1);
                $out.=$c;
            }else{
                $out.=$c;
            }
            $pos++;
            if($pos>=$num) break;
        }
        if($out!=$in) $out = $out . "...";
        return $out;
    }
//调用很简单
//substrgb($row['title'],35)
还有一个更简单的方法,多谢Jon兄的指点
PHP 截字、斷字專用 function
在寫網頁的時後常會遇到 80 個字要截字, 然後超過 80 字加 “…”, 未滿 80 字不加.. 等等之類的問題.
之前用 substr 的寫法如下:
$string = strip_tags($string); // 先清掉 html tag, 以免 html tag 被破壞
    $string = mb_substr($string, 0, 80, 'UTF-8');
    $string .= (mb_strlen($string, 'UTF-8') > 80)?'...':'';
PHP 有支援很方便的 function 可以直接達到此功能.
$string = strip_tags($string);
    $string = mb_strimwidth($string, 0, 80, '...', 'UTF-8');
在 UTF-8 的環境算字數用 strlen 或 mb_strlen 都不是很準, 所以可以用另一個做法, 算字的寬度, 也是個不錯的做法
echo mb_strwidth($string, 'UTF-8'); // 算字寬度
原文:
PHP 截字、斷字專用 function
               
               
               

相关阅读 更多 +
排行榜 更多 +
西安交大通

西安交大通

生活实用 下载
长江云通

长江云通

生活实用 下载
translatez

translatez

生活实用 下载