⑴ 在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中处理字符串的一种强大工具,通过它,我们可以方便地将复杂的字符串拆分成易于管理的数组部分。