有一个字符串 "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨"一字一分,生成 ("赵","钱","孙","李"........)有什么好办法?用了这个,所有的字都去光光了 $string= preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $string);=================================================================其实我就是想把除英文以外的字符都去掉的。我把123456789换成了中文的大写,可是还有英雄,还有各种特殊符号要去掉 =================================================================找出来了$code = "/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])/";preg_match_all($code,$str,$arr);print_r($arr[0]);只取字符集里面的汉字,又生成数组了。把我下一步任务也完成了========================================不知道选哪个了,选一楼吧。
简单点就用字符串截取,把截下来的字符串放到新数组中$newarr=array();$str="abcdefg白郎hi";for($i=0;$i<strlen($str);$i++){if(ord($str[$i])>127){$newarr[]=$str[$i].$str[++$i];}else{$newarr[]=$str[$i];}}echo "<pre>";print_r($newarr);支持中英文 str_split函数碰见中文好像有点问题
PHP方法,需全部是中文字符<?php $s = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨'; $len = strlen($s); for($i=0;$i<$len;$i+=2){ $array[] = substr($s,$i,2); } print_r($array);?>
测试一下一个汉字占多少个字符长度,在php中用strlen()测出是3str_split($string,3) 即可当然,要保证你所使用的字符串都是中文的,否则会有问题,可使用$string= preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $string);把非中文的给去掉