@
hanzhao utf 文件下面我有个代码是可行的,但是 gbk 的我还没找到。
utf8 文件的 php 可行代码:
···
function str_split_unicode($str, $l = 0) {
if ($l > 0) {
$ret = array();
$len = mb_strlen($str, "GBK");
for ($i = 0; $i < $len; $i += $l) {
$ret[] = mb_substr($str, $i, $l, "GBK");
}
return $ret;
}
return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
$s = '言归正传,我要用 PHP 实现给一行字符 q1 串 gfg 中,前面和后面是中文、中文符 11 号的时候就加 333 空格,是英文、数字、英文符号的时候就不加';
$a = str_split_unicode($s);
$asii = range('!', '~');
$is_ascii = true;
foreach ($a as $value) {
if (in_array($value, $asii)) {
echo $value;
$is_ascii = true;
}else{
echo $is_ascii ? '' : ' ' , $value;
$is_ascii = false;
}
}···