Re: [請益] 全形伴我行 半形讓我頭痛到不行
※ 引述《coldollsheep (加油加油^^)》之銘言:
: 大大妳們好
: 這是一個粗淺的問題 我也想不到我的人生 在這樣一個地方卡住了
: 事情是這樣的....
: 我從一個資料表讀資料 該欄位中英文龍蛇雜處
: 但中文還是比較多的
: 但是因為顯示的時候要考慮到美觀
: 我抓出來的東西 一率只抓前八碼
: 例如裡面是
: "台中車站" 這樣的前八碼抓起來是OK的
: "檸檬C" 讓我後面的td tag 變成 ?/td>
: 因為C才一碼....
: 我只有想到一個辦法 就是要在擷取前八碼前把所有東西都全型化
: 請問這樣解決是OK的嗎? 我總覺得以前這樣的東西是不構成問題的阿
: 因為覺得我想的方法很不入流
: 想知道大家的想法 感恩
function bite_str($string, $start, $len, $byte=3)
{
$str = "";
$count = 0;
$str_len = strlen($string);
for ($i=0; $i<$str_len; $i++) {
if (($count+1-$start)>$len) {
$str .= "...";
break;
} elseif ((ord(substr($string,$i,1)) <= 128) && ($count < $start)) {
$count++;
} elseif ((ord(substr($string,$i,1)) > 128) && ($count < $start)) {
$count = $count+2;
$i = $i+$byte-1;
} elseif ((ord(substr($string,$i,1)) <= 128) && ($count >= $start)) {
$str .= substr($string,$i,1);
$count++;
} elseif ((ord(substr($string,$i,1)) > 128) && ($count >= $start)) {
$str .= substr($string,$i,$byte);
$count = $count+2;
$i = $i+$byte-1;
}
}
return $str;
}
官方網站提供的:http://tw.php.net/manual/en/function.substr.php#53199
支援 utf-8:$byte=3 | gb2312:$byte=2 | big5:$byte=2
--
PHP MVC CodeIgniter 繁體中文手冊: http://tinyurl.com/mduyv8
PHP MVC CodeIgniter 繁體中文討論區:http://tinyurl.com/yayzoz8
PHP MVC CodeIgniter 中文官方網站: http://tinyurl.com/yatds8n
Appleboy Blog 電腦技術: http://blog.Wu-Boy.com
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.115.144.183
推
10/27 01:49, , 1F
10/27 01:49, 1F
→
10/27 01:49, , 2F
10/27 01:49, 2F
推
10/27 08:06, , 3F
10/27 08:06, 3F
推
10/27 18:28, , 4F
10/27 18:28, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章