导航:首页 > 编程语言 > 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汉字分割 浏览:495
程序员休息一周 浏览:340
顺心捷达app下载软件叫什么 浏览:58
python中pydoc 浏览:694
银行生活app是什么意思 浏览:919
腾讯云服务器三个月才能备案 浏览:724