`

php拆分中文字符串

    博客分类:
  • PHP
 
阅读更多

分隔字符串,使用“str_split”就可以了好处是连空格也会作为数组的元素。我之前的例子就是因为前一个字符串包含2个空格,而后一个只有一个。但是输出的时候看到的显示都是一样的。
也可以按照其他分隔符进行分割,如“explode”或者“preg_split”,


php教程 explode() 函数
php string 函数
定义和用法
explode() 函数把字符串分割为数组。

语法
explode(separator,string,limit)参数 描述
separator 必需。规定在哪里分割字符串。
string 必需。要分割的字符串。
limit 可选。规定所返回的数组元素的最大数目。

例子
在本例中,我们将把字符串分割为数组:

<?php
    $str = "hello world. it's a beautiful day.";
    print_r (explode(" ",$str));
 ?>
 


输出:

array
    (
    [0] => hello
    [1] => world.
    [2] => it's
    [3] => a
    [4] => beautiful
    [5] => day.
    )
 

str_split 拆分函数

定义和用法
str_split() 函数把字符串分割到数组中。

语法
str_split(string,length)参数 描述
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。

说明
如果 length 小于 1,str_split() 函数将返回 false。

如果 length 大于字符串的长度,整个字符串将作为数组的唯一元素返回。
例子
例子 1



输出:

array
    (
    [0] => h
    [1] => e
    [2] => l
    [3] => l
    [4] => o
 )
 


例子 2

    <?php
    print_r(str_split("hello",3));
    ?>
 




输出:

Array ( [0] => hel [1] => lo ) 
 



preg_split -- 用正则表达式分割字符串
说明
array preg_split ( string pattern, string subject [, int limit [, int flags]])


返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。

如果指定了 limit,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用来继续指定可选参数 flags。

flags 可以是下列标记的任意组合(用按位或运算符 | 组合):


preg_split_no_empty
如果设定了本标记,则 preg_split() 只返回非空的成分。

 

以上是一篇我在网上找到的关于拆分的字符串的文章 ,也是比较全的。今天我在我在做项目的时候,遇到了这样的一个问题,拆分中英文混合的字符串 。因为中文占有2个字节,当使用str_split函数时,悲剧的出现了乱码 。so,在网上找到了一个能够正确拆分字符串的函数 。此函是只支持 gb2312编码 ,其它的编码的字符串需要先转换编码 。

 

function arr_split_zh($tempaddtext){
   $tempaddtext = iconv("UTF-8", "gb2312", $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));
                $cind++;
            }else{
                array_push($arr_cont,substr($tempaddtext,$cind,2));
                $cind+=2;
            }
        }
    }
   foreach ($arr_cont as &$row)
   {
   	$row=iconv("gb2312","UTF-8",$row);
   }

return $arr_cont;

}
 

 

 

 

分享到:
评论

相关推荐

    lua切割字符串为数组(split)

    lua字符串转数组,类似js里的split()和php里的explode()

    php使用explode()函数将字符串拆分成数组的方法

    本文实例讲述了php使用explode()函数将字符串拆分成数组的方法。分享给大家供大家参考。具体分析如下: explode()函数:字符串拆分成数组 示例代码如下: &lt;?php $str = "朝阳区,海淀区,西城区,东城区,丰台区"; $...

    php把字符串指定字符分割成数组的方法

    实例如下: &lt;?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var);...php还有其他的把字符串指定字符分割成数组 ...以上这篇php把字符串指定字符分割成数组的方法就是小编分享给大家的全部内容了

    php按单词截取字符串的方法

    主要介绍了php按单词截取字符串的方法,涉及php操作字符串的技巧,需要的朋友可以参考下

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    字符串按“自然排序”法比较.php 字符串按“自然排序”法比较 根据单词的发音比较.php 根据单词的发音比较 根据单词的相似性比较.php 根据单词的相似性比较 查找子字符串.php 查找子字符串 搜寻出现的字符.php ...

    PHP函数实现从一个文本字符串中提取关键字的方法

    本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法。分享给大家供大家参考。具体分析如下: 这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现...

    PHP explode()函数用法、切分字符串

    // ### 切分字符串 #### function jb51netcut($start,$end,$file){ $content=explode($start,$file); $content=explode($end,$content[1]); return $content[0]; } ?&gt; explode定义和用法 explode() 函数把字符串...

    PHP改进计算字符串相似度的函数similar_text()、levenshtein()

     //拆分字符串   function split_str($str) {   preg_match_all(“/./u”, $str, $arr);   return $arr[0];   }     //相似度检测   function similar_text_cn($str1, $str2) {   $arr_1 = array_...

    php字符串操作常见问题小结

    本文实例讲述了php字符串操作常见问题。分享给大家供大家参考,具体如下: 记得当初学习php的时候听的一句觉得很牛X的话就是:一切程序都是字符串,所谓编程只是让数据像水一样在各个代码页面间流来流去。等我目前...

    php中的explode()函数实例介绍

    explode()函数基于字符串分隔符拆分字符串,即它将字符串拆分为出自分隔符的位置。此函数返回一个数组,其中包含通过拆分原始字符串形成的字符串,我们可以通过访问数组来轻松检索字符串的每个部分 它的语法结构...

    php一个解析字符串排列数组的方法

    主要介绍了php一个解析字符串排列数组的方法,可实现字符串的拆分与排列功能,具有一定参考借鉴价值,需要的朋友可以参考下

    PHP开发实战1200例源码

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP实现将textarea的值根据回车换行拆分至数组

    主要介绍了PHP实现将textarea的值根据回车换行拆分至数组,涉及表单元素及explode拆分字符串的相关技巧,需要的朋友可以参考下

    PHP 正则表达式函数库(两套)

    在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异: 一套是由PCRE... 将一个字符串拆分为一组更小的信息块。 一个正则表达式中至少包含一个原子。 原子(普通字符,如英文字符) 元字符(有特殊功用

    PHP初学者常见问题集合 修正版(21问答)

    答:在php中连接两个字符串可以直接使用“.”操作符号,例如$newStr=”Zhang”.”san”,在java中是使用“+”操作符号,不要混淆。 2,如何计算一个字符串的长度? 答:$str=”test”;$length=strlen($str);即使用...

Global site tag (gtag.js) - Google Analytics