⑴ 在php中 如何把[1][2][3][4]這樣的字元串分割成1234字元串數組。求例子 求結果
先用str_replace這個函數,再用explode是分割成譽罩為數組
例:
$aaa="慶敗鬧[1][2][3][4]";
$bbb=str_replace(']',',',str_replace('['枯芹,'',$aaa));
$list=explode(",",$bbb);
自己把代碼拿過去測試吧
⑵ 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 explode()
在PHP中,`explode()`是一個至關重要的字元串處理函數,它將一個字元串分割成數組,通過指定的分隔符進行切割。該函數的基本語法為`explode(separator, string, limit)`,其中:
- `separator`:必填,指定數組元素的分隔點,不能是空字元串,否則函數將返回`FALSE`。
- `string`:必填,要進行分割的原始字元串。
- `limit`:可選,限制返回數組的元素數量,若為負數,則返回除最後幾個元素外的所有元素。
舉個例子,如果你有這樣一個字元串`$str = "Hello world. It's a beautiful day."`,使用`explode(" ", $str)`,函數將返回一個數組,每個元素都是由空格分隔的子字元串:
Array (
[0] => Hello
[1] => world.
[2] => It's
[3] => a
[4] => beautiful
[5] => day.
)
值得注意的是,如果`separator`在`string`中不存在,`explode()`將返回一個包含整個`string`作為單個元素的數組。同時,PHP 5.1.0 版本新增了對`limit`參數的支持,可以根據需要限制返回的數組長度。
總之,`explode()`函數是PHP中處理字元串的一種強大工具,通過它,我們可以方便地將復雜的字元串拆分成易於管理的數組部分。