0){ if([color=re" /> 0){ if([color=re">
首頁 後端開發 php教程 自个儿实现php UTF8中文字符串截取

自个儿实现php UTF8中文字符串截取

Jun 13, 2016 am 10:49 AM
length str substr

自己实现php UTF8中文字符串截取

1

header("Content-type: text/html; charset=utf-8");function my_substr($str,$begin,$length){       $i = $begin;        $result="";     while($length > 0){          if([color=red]ord($str[$i])>127[/color]){                $result .= substr($str,$i,3);               $i = $i+3;          }else{              $result .= substr($str,$i,1);               $i++;           }           $length--;      }       return $result; }   $chinese = "中a国people";     echo "<br>".my_substr($chinese,0,3);

登入後複製



输出结果是:中a国

说明:
ord 是 对字符去assic值。
chr 是 对assic取字符。

为什么判断assic大于127。

这里是ASSIC码表
http://www.asciitable.com/

计算机中最开始只有ASSIC编码,用来表示字符。一个ASSIC字符用一个BYTE表示。所以ASSIC最多就只有256种组合。对于英文是够用了,中文,日文,韩文等亚洲语种就不够了。
那么只能考虑用多个BYTE表示一个中文汉字,比如GB2312 就是用2个字节表示一个汉字。在windows中用笔记本新建一个TXT保存为ASSIC,如果你是简体中文操作系统,TXT中的中文就是一GB2312来保存的。上面的截取字符串的程序$result .= substr($str,$i,3);中的3就要改成2.同时别忘了修改header。而无论GB2312 还是UTF8 他们表示A-Z等ASSIC 128以前的都是一样的,是一位BTYE表示,是变长编码的。所以可以用ASSIC判断他们是不是中文。

写的可能比较乱。有需要的谨慎阅读。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用java的String.length()函數取得字串的長度 使用java的String.length()函數取得字串的長度 Jul 25, 2023 am 09:09 AM

使用java的String.length()函數取得字串的長度

PHP傳回字串第一個字元的 ASCII 值 PHP傳回字串第一個字元的 ASCII 值 Mar 21, 2024 am 11:01 AM

PHP傳回字串第一個字元的 ASCII 值

PHP傳回一個字串在另一個字串中開始位置到結束位置的字串 PHP傳回一個字串在另一個字串中開始位置到結束位置的字串 Mar 21, 2024 am 10:31 AM

PHP傳回一個字串在另一個字串中開始位置到結束位置的字串

length函數用法介紹 length函數用法介紹 Sep 19, 2023 am 11:41 AM

length函數用法介紹

了解PHP中的substr()函數用於截取字串 了解PHP中的substr()函數用於截取字串 Nov 18, 2023 am 11:27 AM

了解PHP中的substr()函數用於截取字串

Python中__str__和__repr__有什麼異同點 Python中__str__和__repr__有什麼異同點 Apr 29, 2023 pm 07:58 PM

Python中__str__和__repr__有什麼異同點

Python內建類型str原始碼分析 Python內建類型str原始碼分析 May 09, 2023 pm 02:16 PM

Python內建類型str原始碼分析

使用PHP函數 'substr' 取得字串的子字串 使用PHP函數 'substr' 取得字串的子字串 Jul 24, 2023 pm 10:13 PM

使用PHP函數 'substr' 取得字串的子字串

See all articles