色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php chr() ord()中文截取亂碼問題解決方法

復制代碼 代碼如下:
<?php
$lenth = 19;
$str = "怎么將新聞的很長的標題只顯示前面一些字,后面用.....來代替?";
echo strlen($str)<=$lenth ? $str : (substr($str,0,$lenth).chr(0)."....");
?>

復制代碼 代碼如下:
<?
/*
@ 另一種方法,使用ord()函數:
@ 適用于 gb2312 編碼:
*/
$str = "怎么將新聞的很長的標題只顯示前面一些字,后面用.....來代替?";
function gb2312_substr($str, $limit) {
$restr ='';
for($i=0;$i< $limit-3;$i++) {
$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i] : $str[$i];
}
return $restr;
}
/*
@ 以下僅適用于 utf-8 編碼;
*/
function utf8_substr($str, $limit) {
$restr = '';
for($i=0;$i< $limit-3;$i++) {
$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i];
}
return $restr;
}
//解釋下上面第一個:chr(0)不是null,null是什么都沒有,而chr(0)的值是0。表示成16進制是0x00,表示成二進制是00000000雖然chr(0)不會顯示出什么,但是他是一個字符。雖然chr(0)不會顯示出什么,但是他是一個字符。當漢字被截斷時,根據編碼規則他總是要把后邊的其他字符拉過來一起作為漢字解釋,這就是出現亂碼的原因。
?>

php技術php chr() ord()中文截取亂碼問題解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 农安县| 柳河县| 鲁甸县| 齐河县| 应用必备| 阿荣旗| 安吉县| 通山县| 延寿县| 盱眙县| 大关县| 巴南区| 河南省| 阜康市| 宜都市| 中卫市| 慈溪市| 定西市| 平定县| 北辰区| 漳浦县| 彭州市| 商城县| 武城县| 和龙市| 永丰县| 进贤县| 司法| 元朗区| 南靖县| 永昌县| 青海省| 逊克县| 防城港市| 汉川市| 三穗县| 南江县| 乌拉特中旗| 申扎县| 锡林浩特市| 赤水市|