PHP常用字符串函数
2016-04-22 22:24
573 查看
1·长度计算
纯英文字符串
strlen()
计算字符串的长度,但是不能测量中英文混合的字符串;
mb_strlen()
计算字符串的长度,对于中英文混合的字符串,会将中文字符计算为一个字符;需要第二个参数指定字符串的编码方式
[php]
view plain
copy
2·字符串的替换
str_replace()
查找需要的字符串,使用指定的字符串对其进行替换
preg_replace()
和str_replace一样,但是指定被替换字符的方式有所不同,str_replace使用纯粹的字符,preg_replace可以使用正则表达式
strtr(string $str,string $from,string $to)
遍历$str,将其中的$from[$n]替换成$to[$n];$n为$from和$to都有的有效位移;
【$from和$to为中文时,替换可能会引起错误;
错误示例代码:
header('Content-type:text/html;charset=utf-8');
echo strtr("中国好事多", "中国", "河南"),"\n";
】
strtr(string $str,array $replace_pairs);
$replace_pairs是一个数组,该数组中所有的键只要在$str中存在就会被替换成对应的值
【使用这种形式可以避免上诉的错误
示例代码:
header('Content-type:text/html;charset=utf-8');
echo strtr("中国好事多",array("中国"=>"河南"));
echo '<br/>';
】
substr_replace($string,string $replacement,$start[,$length])
将$string中从$start开始的长度为$length的部分替换为$replacement;如果$length不存在,则$length将默认为$string的长度;
【对包含中文字符串,需要寻找可替代方案】
str_split($string[,$length]);
将字符串按照每一小段长度为$length的方式进行截取;如果不指定$length,则默认为1
【对于包含中文的字符串,会引起错误】
[php]
view plain
copy
3·字符串查找
strpos($string,$needle)
查询$needle在$string中第一次出现的位置
[遇到有包含中文的字符串的时候,
strpos无法获取正确的结果
mb_strpos可以用来精确的得出结果
]
stripos与strpos相似,但是忽略大小写的影响
strstr($string,$needle)
返回在$string中$needle第一次出现的位置到$string结尾的子串
stristr()
与strstr类似,只是不区分大小写
substr($str,$start,$length)
截取字符串,截取$str中从$start开始长度为$length的子串
【对于包含中文字符串,截取会出现错误
需要使用mb_substr()函数来替换
】
[php]
view plain
copy
1·截取中文字符串
mb_substr($string,$start,$length,$encoding);
截取字符串$string,从$start开始,长度为$lenght,$encoding指定字符串的编码方式,指定正确的编码方式可以使中文在截取的时候识别为一个字符
iconv_substr();
与mb_substr用法相似,但是iconv在某些操作系统上可能运行不正常需要安装gnu扩展;相比而下,mb_substr的兼容性更好一些
iconv会先将字符串转换为相应的编码再进行截取,而mb_substr则是直接在指定的编码下进行截取,效率更高一些。
[php]
view plain
copy
2·提取中文字符串
function pregCh($test){
//utf8下匹配中文
$rule ='/([\x{4e00}-\x{9fa5}]){1}/u';
preg_match_all($rule,$test,$result);
return $result;
}
[php]
view plain
copy
2·提取中文字符串
function pregCh($test){
//utf8下匹配中文
$rule ='/([\x{4e00}-\x{9fa5}]){1}/u';
preg_match_all($rule,$test,$result);
return $result;
}
纯英文字符串
strlen()
计算字符串的长度,但是不能测量中英文混合的字符串;
mb_strlen()
计算字符串的长度,对于中英文混合的字符串,会将中文字符计算为一个字符;需要第二个参数指定字符串的编码方式
[php]
view plain
copy
2·字符串的替换
str_replace()
查找需要的字符串,使用指定的字符串对其进行替换
preg_replace()
和str_replace一样,但是指定被替换字符的方式有所不同,str_replace使用纯粹的字符,preg_replace可以使用正则表达式
strtr(string $str,string $from,string $to)
遍历$str,将其中的$from[$n]替换成$to[$n];$n为$from和$to都有的有效位移;
【$from和$to为中文时,替换可能会引起错误;
错误示例代码:
header('Content-type:text/html;charset=utf-8');
echo strtr("中国好事多", "中国", "河南"),"\n";
】
strtr(string $str,array $replace_pairs);
$replace_pairs是一个数组,该数组中所有的键只要在$str中存在就会被替换成对应的值
【使用这种形式可以避免上诉的错误
示例代码:
header('Content-type:text/html;charset=utf-8');
echo strtr("中国好事多",array("中国"=>"河南"));
echo '<br/>';
】
substr_replace($string,string $replacement,$start[,$length])
将$string中从$start开始的长度为$length的部分替换为$replacement;如果$length不存在,则$length将默认为$string的长度;
【对包含中文字符串,需要寻找可替代方案】
str_split($string[,$length]);
将字符串按照每一小段长度为$length的方式进行截取;如果不指定$length,则默认为1
【对于包含中文的字符串,会引起错误】
[php]
view plain
copy
3·字符串查找
strpos($string,$needle)
查询$needle在$string中第一次出现的位置
[遇到有包含中文的字符串的时候,
strpos无法获取正确的结果
mb_strpos可以用来精确的得出结果
]
stripos与strpos相似,但是忽略大小写的影响
strstr($string,$needle)
返回在$string中$needle第一次出现的位置到$string结尾的子串
stristr()
与strstr类似,只是不区分大小写
substr($str,$start,$length)
截取字符串,截取$str中从$start开始长度为$length的子串
【对于包含中文字符串,截取会出现错误
需要使用mb_substr()函数来替换
】
[php]
view plain
copy
1·截取中文字符串
mb_substr($string,$start,$length,$encoding);
截取字符串$string,从$start开始,长度为$lenght,$encoding指定字符串的编码方式,指定正确的编码方式可以使中文在截取的时候识别为一个字符
iconv_substr();
与mb_substr用法相似,但是iconv在某些操作系统上可能运行不正常需要安装gnu扩展;相比而下,mb_substr的兼容性更好一些
iconv会先将字符串转换为相应的编码再进行截取,而mb_substr则是直接在指定的编码下进行截取,效率更高一些。
[php]
view plain
copy
2·提取中文字符串
function pregCh($test){
//utf8下匹配中文
$rule ='/([\x{4e00}-\x{9fa5}]){1}/u';
preg_match_all($rule,$test,$result);
return $result;
}
[php]
view plain
copy
2·提取中文字符串
function pregCh($test){
//utf8下匹配中文
$rule ='/([\x{4e00}-\x{9fa5}]){1}/u';
preg_match_all($rule,$test,$result);
return $result;
}
相关文章推荐
- 夺命雷公狗ThinkPHP项目之----企业网站4之数据库连接
- 基于MVC设计模式实现简单PHP框架(雏形)-初期
- matplotlib安装(特别需要注意的地方)
- PHP实现最简单的登录注册
- php一个简单的数字 字母验证码代码
- php环境搭建之mysql
- phpexcel 修改excel文件
- php程序中实现图片的上传和下载
- Firemonkey 绘图 TPathData
- php+mysql日期时间转换
- php pack、unpack、ord 函数使用方法(二进制流接口应用实例)
- phpstorm + firefox + xdebug安装配置方法
- proftp权限设置
- iis7下的php实现urlrewrite,并隐藏index.php
- PHP入门
- 夺命雷公狗ThinkPHP项目之----企业网站3之后台栏目页的搭建(百度编辑器的引入)
- 几款第三方分词工具
- php生成器的使用
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
- json_encode 没有转义双引号 PHP5.5