導航:首頁 > 編程語言 > php漢字分割

php漢字分割

發布時間:2025-09-12 16:25:11

php "str_split"函數分割中文字元串亂碼問題……

一個解決方案.
測試發現,preg_split對中文(多位元組)的分隔符處理可能真的存在問題.
原因可能是正則匹配時不能正常分隔一個多位元組字元(猜測).
但我實驗用半形(英文)的分隔符就工作得很好.
於是
我在處理待分隔的文本前先對文本進行替換,把中文的句點和逗號都替換成英文半形的.然後再使用preg_split,暫時發現工作得不錯.
以下是我的測試代碼.
<?php
$test = <<<EOF
記者從有關人士處獲悉,嫦娥二號發射的各項准備工作全部就緒,昨日經專家組評審,衛星、火箭、發射場、測控等系統均情況正常,具備發射條件。今天起,西昌衛星發射中心的加註手將為火箭加註燃料。

據一位航天專家介紹,因為地球和月球都在轉動的緣故,所以地月之間的最佳交匯點每年僅出現3次,而這3次便是發射探月衛星的最佳節點,經過觀測,今年3次的出現時間分別為10月1日、10月2日和10月3日,而最佳發射窗口則是1日晚7時,2日晚8時和3日晚10時,其中國慶日晚7時為佳中之佳。

針對媒體稱10月1日發射窗口時間為晚6時59分57秒,該專家告訴本報記者,早3秒並非提前3秒發射,而是將這3秒時間預留出來,作為現場指揮員在發送倒計時口令的緩沖時間。(記者萬強)

EOF;

//$input = $_POST[$content]; //........................獲取要分割的字元串
$test = str_replace(",",',',$test);
$test = str_replace("。",'.',$test);
$mode="/[,|.]/s"; //......................用「逗號」 和 「句號」 分割字元串

$output = preg_split($mode,$test,-1);

print_r($output);
?>
============
樓主不防試試,我的代碼是gb2312的字串.
經測試在,字元串為UTF8時,也可以正常工作.

⑵ php根據換行分割字元串

Windows下是以\r\n換行。不過結果是一樣的啦(你也可以分割好後再替換掉\r。其實如果你輸出的話瀏覽器是會忽略\r的),只要不是蘋果機(以\r換行)就不會出問題。

⑶ PHP 如何實現按字數分割中英文混雜字元串成數組

以下是我編寫的代碼,實現對中英文混雜字元進行分割:

<?php
function mbStrSplit ($string, $len=1) {
$start = 0;
$strlen = mb_strlen($string);
while ($strlen) {
$array[] = mb_substr($string,$start,$len,"utf8");
$string = mb_substr($string, $len, $strlen,"utf8");
$strlen = mb_strlen($string);
}
return $array;
}

header('Content-type:text/html;charset=utf-8');
$str = '我愛北京3我愛上海-我愛xianggang';
$r = mbStrSplit($str, 4);
echo '<pre>';
print_r($r);
echo '</pre>';
?>

運行結果:

Array
(
[0] => 我愛北京
[1] => 3我愛上
[2] => 海-我愛
[3] => xian
[4] => ggan
[5] => g
)

⑷ php字元串分割問題

|||為分割符,
explode — 使用一個字元串分割另一個字元串
說明
array explode ( string $separator , string $string [, int $limit ] )
此函數返回由字元串組成的數組,每個元素都是 string 的一個子串,它們被字元串 separator 作為邊界點分割出來。如果設置了 limit 參數,則返回的數組包含最多 limit 個元素,而最後那個元素將包含 string 的剩餘部分。
用這個得到個函數
在循環函數
在循環體裡面
用split(search,$str[,int]):把$str按search字元進行分割返回數組int是分割幾
或者
strtok(原字元,分割符):每次分割一小塊,它根據分割符的每個字元來分割;
分割每個數組元素 得到一個新的數組
在定義一個數組,把的到的新的數組的2個元素分別賦給定義數組的鍵值,和值
$a=explode("1@A|||5@B|||6@C|||4@D|||2@E|||3@F|||7@G|||8@H|||","|||");
foreach($a as $value){
$b=explode($value,"@");
$c[$b[0]]=$b[1];
}

行了
我可能寫的不對 ,但是思路是這樣的,你自己想想

⑸ php如何分割中文字元串

php分割中文字元串,如果直接用PHP函數「str_split」來分割,會出現亂碼,因為中文字元長度和英文字元長度是不一樣的。

所以,可以建立新的函數先把字元轉成ASCII值,接著通過判斷不同字元的長度來正確分割中文字元串,把結果存入數組,最後再用PHP函數「join」在字元間插入百分號。

具體參考代碼如下:

<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192&&$value<=223)$split=2;
elseif($value>=224&&$value<=239)$split=3;
elseif($value>=240&&$value<=247)$split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return$array;
}
$string="網路知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>

⑹ 怎樣將php里的漢字字元串分割成單個字元

很簡單漏雀,代碼如下:

<返裂早?php

$str="HelloFriend";
$arr1=str_split($str);
$arr2=str_split($str,3);
print_r($arr1);
print_r($arr2);
/*Outputmaylooklike:

Array
(
[0]=>H
[1]=>e
[2]=>l
[3]=>l
[4]=>o
[5]=>
[6]=>F
[7]=>r
[8]=>i
[9]=>e
[10]=>n
[11]=>d
)

Array
(
源棚[0]=>Hel
[1]=>lo
[2]=>Fri
[3]=>end
)
*/
?>

⑺ 在PHP中「以逗號分隔符將字元分割後存入數組」的函數是什麼

函數是$string = "1,2,3,4,5";$array = explode(",",$string); 之後就得出一個數組,$array(1,2,3,4,5);

Java 格式字元串中 『,』使用及說明:

1、Java API中解釋:public PrintStream printf(String format, Object... args)使用指定格式字元串和參輪辯數將格式化的字元串寫入此輸出流的便捷方法。

2、參數:format - 在格式字元串的語法中描述的格式字老拆符串,args - 格式字元串中的格式說明符引用的參數。

3、重點:格式字元串的語法---標志 『,』 -- 結果將包括特定於語言環境的組分隔符

4、因為在Java API 中點擊組分隔符鏈接到了獲取千位分隔符的方法,所以的確可以理解成在
printf 方法臘含缺中「,」 會在格式化輸出過程中輸出千位分隔符。

5、Java 中格式說明符可以通過相對索引引用參數。標志『<』,重用以前格式說明符的參數。也就是為什麼 %<f 會輸出 0.555000 的原因。

閱讀全文

與php漢字分割相關的資料

熱點內容
設置裡面的郵箱怎麼登錄安卓 瀏覽:716
androidwebview電話 瀏覽:246
為什麼優盤里的文件夾都不見了 瀏覽:602
單車旅行pdf 瀏覽:266
手機桌面合並文件夾打不開 瀏覽:431
linuxcnull 瀏覽:265
javaformat字元 瀏覽:672
精打細算的程序員 瀏覽:878
android游戲開發工具 瀏覽:784
javaobject判空 瀏覽:27
手機檢查源碼後門軟體 瀏覽:676
恩布拉克變頻壓縮機 瀏覽:45
怎麼給應用加密碼oppoa57 瀏覽:783
phpsocket發送郵件 瀏覽:637
php漢字分割 瀏覽:496
程序員休息一周 瀏覽:340
順心捷達app下載軟體叫什麼 瀏覽:58
python中pydoc 瀏覽:694
銀行生活app是什麼意思 瀏覽:919
騰訊雲伺服器三個月才能備案 瀏覽:724