很多站长朋友们都不太清楚phpsplit中文,今天小编就来给大家整理phpsplit中文,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 如何比较两个中文字符串是否相等 2、 php如何分割中文字符串 3、 PHP 如何实现按字数分割中英文混杂字符串成数组 4、 php拆分字符串 5、 php 在中文之间添加空格 6、 php "str_split"函数分割中文字符串乱码问题…… php 如何比较两个中文字符串是否相等function
arr_split_zh($tempaddtext){
$cind
=
0;
$arr_cont=array();
for($i=0;$i<strlen($tempaddtext);$i++)
{
if(strlen(substr($tempaddtext,$cind,1))
>
0){
if(ord(substr($tempaddtext,$cind,1))
<
0xA1
){
//如果为英文则取1个
字节
array_push($arr_cont,substr($tempaddtext,$cind,1));
$
cin
d++;
}else{
array_push($arr_cont,substr($tempaddtext,$cind,2));
$cind+=2;
}
}
}
return
$arr_cont;
}
$str1="中文字符串1";
$str2="中文字符串2";
$Arr_Str1
=
arr_split_zh($str1);
$Arr_Str2
=
arr_split_zh($str2);
function
Str_Is_Equal($mystr1,$mystr2){
$result
=
0;
for($i=0;$mystr1[$i];$i++){
if($mystr1[$i]
!=$mystr2[$i]){
$result
=
0;
break;
}
$result
=
1;
}
return
$result;
}
看看行不?我这边Apache环境有点问题,所以没有测试
php如何分割中文字符串php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。
所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。
具体参考代码如下:
<?php
function str_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="百度知道";
$arr1=str_split_utf8($string);
echo join("%",$arr1);
?>
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拆分字符串可以用正则和字符串分词~,下面这个是按照逗号或空格分词~
$str
=
'豆瓣,人人,开心';
$str4
=
str_replace(',',',',$str);
//将中文逗号转换成英文逗号,很重要
$key
=
preg_split('/[\s,]+/',$str4);
//分词功能
foreach($key
as
$value){
echo
$value;
echo
'
';
}
php 在中文之间添加空格我给你说下思路,
首先你从数据库里取得的数据【张三、李四】,放到一个变量里$str;
然后把这个变量安、分割。explode函数
之后分割的数组做每个汉子分割,之间加空格。
代码演示:
$str='张三、李四';
$result=explode('、',$str);
$xinrow=array();
foreach($result as $k=>$v){
$xinrow[]=mb_substr($v, 0, 1, 'utf-8');
$xinrow[]=mb_substr($v, 1, 1, 'utf-8');
}
foreach($xinrow as $kk=>$vv){
echo $vv.'nbsp';
}
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时,也可以正常工作.
关于phpsplit中文的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpsplit中文 php str_split中文的详细内容...