中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中substr()截取中文字符亂碼的問題怎么解決

發布時間:2021-08-09 18:14:47 來源:億速云 閱讀:157 作者:chen 欄目:開發技術

本篇內容介紹了“php中substr()截取中文字符亂碼的問題怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

首先要明確這么一個問題,之所以會出現IE6偶爾無法加載CSS的現象,是因為文件出現了亂碼,導致后面的加載CSS的link無法被IE6正確解析。因此就看到了一個純HTML頁面,沒有CSS,赤裸裸!明確了問題,剩下的問題就好解決了,就是防止亂碼,既然萬戈所提供的函數出現了亂碼,就重新去找了一個php函數來解決這個亂碼的問題。

substr()函數可以分割文字,但要分割的文字如果包括中文字符往往會遇到問題。

mb_substr()這個函數的用法與substr()相似,只是在最后要加入多一個參數,以設定字符串的編碼。

通過這里大幾就應該理解我改進萬戈方法的原因了~~

下面再介紹幾個更高級處理辦法

例1

代碼如下

function func_chgtitle($str,$len) { //$length我們允許字符串顯示的最大長度 
 $tmpstr = "";
 $strlen = $len;
 for($i = 0; $i < $strlen; $i++) {
 if(ord(substr($str, $i, 1)) > 0xa0) {
 $tmpstr .= substr($str, $i, 2);
 $i++;
 } else
 $tmpstr .= substr($str, $i, 1);
 }
 return $tmpstr;
}

例2

字符串編碼為UTF-8的,一個中文字符占三個字節:

public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字符串長度

$strlen = $start + $len; // 用$strlen存儲字符串的總長度,即從字符串的起始位置到字符串的總長度

代碼如下

 for($i = $start; $i < $strlen;) {
 if (ord ( substr ( $str, $i, 1 ) ) > 0xa0) { // 如果字符串中首個字節的ASCII序數
值大于0xa0,則表示漢字
 $tmpstr .= substr ( $str, $i, 3 ); // 每次取出三位字符賦給變量$tmpstr,即等
于一個漢字
 $i=$i+3; // 變量自加3
 } else{
 $tmpstr .= substr ( $str, $i, 1 ); // 如果不是漢字,則每次取出一位字符賦給
變量$tmpstr
 $i++;
 }
 }
 return $tmpstr; // 返回字符串
 }

“php中substr()截取中文字符亂碼的問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

台南县| 公主岭市| 昌平区| 万源市| 璧山县| 微山县| 繁峙县| 石门县| 沁阳市| 临夏市| 沈阳市| 东兴市| 郁南县| 颍上县| 涪陵区| 夏邑县| 巍山| 金昌市| 玛沁县| 固安县| 安义县| 横峰县| 日喀则市| 建瓯市| 甘孜| 佛教| 屯昌县| 盘锦市| 大荔县| 隆德县| 辽宁省| 仁怀市| 嘉黎县| 云龙县| 长沙市| 罗甸县| 贡觉县| 长岛县| 兴宁市| 天门市| 安义县|