使用PHP拆分中文字串的方法 收藏 小節

2021-08-26 03:46:05 字數 732 閱讀 5761

案例假設:

假設我有乙個由英文本母、數字、中文字元組成的字串,我想要往這個字串的每兩個字元中間加入乙個百分號「%」.

例如:

把「hurry的部落格blog.csdn.net/jpr1990」變成「h%r%r%y%的%博%客%b%l%o%g%.%c%s%d%n%.%n%e%t%/%j%p%r%1%9%9%0」

那麼我們怎麼來實現呢?

當然我們首先想到用"str_split"函式,但如果直接用php函式「str_split」來分割,會出現亂碼,因為中文字元長度和英文本元長度是不一樣的。但是我們可以建立新的函式先把字元轉成ascii值,接著通過判斷不同字元的長度來正確分割中文字串,把結果存入陣列,最後再用php函式「join」在字元間插入百分號。具體**如下:

function str_split_utf8($str)else $key=null; for($j=0;$j<$split;$j++,$i++) array_push($array,$key); } return $array; } $string="hurry的部落格blog.csdn.net/jpr1990"; $arr1=str_split_utf8($string); echo join("%",$arr1);

附上php拆分普通字串的方法:

$arr=explode("

",$str); print_r($arr); echo $arr[0]."-".$arr[1];

--hurry

php拆分中文字串

分隔字串,使用 str split 就可以了好處是連空格也會作為陣列的元素。我之前的例子就是因為前乙個字串包含2個空格,而後乙個只有乙個。但是輸出的時候看到的顯示都是一樣的。也可以按照其他分隔符進行分割,如 explode 或者 preg split php教程 explode 函式 php str...

PHP擷取中文字串方法

程式一 php擷取中文字串方法 由於 首頁以及vtigercrm裡經常在擷取中文字串時出現亂碼 使用substr 今天找到乙個比較好的擷取中文字串方法,在此與大家共享。function msubstr str,start,len else echo newstr 程式二 php擷取utf 8字串,解...

php 擷取中文字串方法

擷取中文字串函式 param str 需要擷取的字串 param start 開始擷取的位置 param length 擷取的長度 return 此函式返回的是乙個陣列,因此要配合join函式來顯示字串 join substring utf8 str,start,lenth public funct...