麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php substr中文亂碼解決辦法

2024-09-04 11:48:39
字體:
供稿:網(wǎng)友

如果直接使用substr截取中文字符串肯定會出亂碼的,因為他會把一個漢字分成一半,為什么會這樣,因為機器內(nèi)部編碼的問題,現(xiàn)在我們來看處理辦法

1、使用mbstring擴展庫的mb_substr截取就不會出現(xiàn)亂碼了。

2、自己書寫截取函數(shù),但效率不如用mbstring擴展庫來得高。

3、如果僅是為了輸出截取的串,可用如下方式實現(xiàn):substr($str, 0, 30).chr(0).

PHP實例代碼如下:

  1.  * 可以避免亂碼的截取漢字 
  2.  * 參數(shù) $str 為字符串,$start 為開始字符,$len 結(jié)束字符 
  3.  * 返回截取后的字符 
  4.  */ 
  5. function msubstr($str$start$len) {  
  6.  $tmpstr = "";//開源代碼Vevb.com 
  7.  $strlen = $start + $len;  
  8.  for($i = 0; $i < $strlen$i++) {  
  9.   if(ord(substr($str$i, 1)) > 0xa0) {  
  10.    $tmpstr .= substr($str$i, 2);  
  11.    $i++;  
  12.   } else  
  13.    $tmpstr .= substr($str$i, 1);  
  14.  }  
  15.  return $tmpstr;  

方法二,php實現(xiàn)中文字串截取無亂碼的方法,代碼如下:

  1. function gbsubstr($string$start$length) { 
  2. if(strlen($string)>$length){ 
  3.    $str=null; 
  4.    $len=$start+$length
  5.    for($i=$start;$i<$len;$i++){ 
  6.     if(ord(substr($string,$i,1))>0xa0){ 
  7.      $str.=substr($string,$i,2); 
  8.      $i++; 
  9.     }else
  10.      $str.=substr($string,$i,1); 
  11.     } 
  12.    } 
  13.    return $str.'...'
  14. }else
  15.    return $string
  16. ?> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线天堂中文字幕 | 亚洲性生活免费视频 | 久久国产精品免费视频 | 羞羞视频在线免费 | 国产成人精品视频在线 | 欧美黄色看 | 欧美人的天堂一区二区三区 | 国产成人精品一区二区视频免费 | 久久美女免费视频 | 欧美精品一区二区三区在线 | 色交视频 | 免费视频aaa | 久久成年人视频 | av在线更新 | 手机在线看片国产 | 久久成人激情视频 | 国产成人精品网站 | 色999中文字幕 | 成人高清网站 | 99re色| 一级黄片毛片免费看 | a级高清免费毛片av在线 | 久久男人视频 | 一区二区三区视频播放 | 中国美女一级黄色大片 | 91精品免费在线 | 青青草免费观看 | 成年免费大片黄在线观看岛国 | 国产亚洲精品视频中文字幕 | 欧美日韩在线免费观看 | 97超视频在线观看 | 国产美女爽到喷白浆的 | 成人444kkkk在线观看 | 国产一国产精品一级毛片 | 一级大黄毛片 | 万圣街在线观看免费完整版 | 精品国产视频一区二区三区 | 高清一区二区在线观看 | 在线a亚洲视频播放在线观看 | 欧美一级黄 | 国产中文99视频在线观看 |