您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP函數mb_split解析”,在日常操作中,相信很多人在PHP函數mb_split解析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP函數mb_split解析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、前言
在PHP中很多函數的處理默認是unicode中的UTF-8編碼格式。那么廢話不多說,直接開始正題。
二、PHP函數mb_split解析
<?php $preg_strings = '測、試、一、下'; $preg_str = mb_split('、', $preg_strings); print_r($preg_str);
輸出效果
Array( [0] => 測 [1] => 試 [2] => 一 [3] => 下)
此函數默認底層解析,以UTF-8的編碼格式解析。以分隔符(、)的UNICODE的16進制碼點分割字符$preg_strings。
三、PHP函數preg_split解析
分割字符串“測試一下”
<?php $strings = '測試一下'; $mb_arr = preg_split('//u', $strings, -1, PREG_SPLIT_NO_EMPTY); print_r($mb_arr);
打印結果如下:
Array( [0] => 測 [1] => 試 [2] => 一 [3] => 下 )
四、PCRE中的/u解析
在PHP中,正則的定界符可以為#、%、/等等。
在一個正則中有時后面會有些修飾符。那么他們都是什么意思呢?
比如:
%[\x{4e00}-\x{9fa5}]+%u
其中后面的修飾符u代碼表以正則匹配以utf-8的編碼格式匹配。
例子一:
<?php $strings = '測試一下'; $is_true = preg_match_all('%[\x{4e00}-\x{9fa5}]+%u', $strings, $match); var_dump($is_true);
打印結果如下:
Array( [0] => Array ( [0] => 測試一下 ) )
這里的[\x{4e00}-\x{9fa5}]是什么意思呢?
在PHP正則中\x用來表示16進制。
中文的UNICODE碼點在4E00 - 9FFF (這里說的都是16進制)
所以,正則匹配寫法就是區間[],[\x{4E00}-\x{9FFF}]
這兩個正則的效果都是一樣的。
到此,關于“PHP函數mb_split解析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。