首页 » 网站推广 » php截取汉字字符串技巧_中文字符串截取造成的乱码处理

php截取汉字字符串技巧_中文字符串截取造成的乱码处理

访客 2024-10-24 0

扫一扫用手机浏览

文章目录 [+]

打开源码,创造原代码中利用了substr函数来截取字符串。
在php中,substr函数是严格按字节数来截取字符串,虽然一个中笔墨符为3个字节,如果仅以3的倍数来进行截取,字符串中一旦涌现字母、数字等单字节字符而没有在截取提高行判断处理,就很随意马虎造成涌现截取到半个中笔墨符的情形。

例如如下代码,

php截取汉字字符串技巧_中文字符串截取造成的乱码处理

$str="活泼枫叶6c的头条号";echo substr($str,0,15);

运行的结果为

php截取汉字字符串技巧_中文字符串截取造成的乱码处理
(图片来自网络侵删)

活泼枫叶6c�

虽然截取的15个字符,由于6c两个字符只占2个字节,打乱了字符串的规律,以是结果会涌现半个字符。

说到这里,可能有些小伙伴会想在截取前先对字符串进行一下处理,或者自己写一个函数。
实在大可不必这么麻烦,php已经为我们供应理解决方案。

1、按字符数量截取字符串的mb_substr

例如

$str="活泼枫叶6c的头条号";echo mb_substr($str,0,7);

运行的结果为

活泼枫叶6c的

须要截取几个字,参数就写几个字,一览无余。

2、按字节截取字符串的mb_strcut

例如

$str="活泼枫叶6c的头条号";echo mb_strcut($str,0,15);

运行结果为

活泼枫叶6c

可以看到,虽然mb_strcut也是按字节截取字符串,但它不会截断字符。

在PHP中,substr虽然用得很多,但要对中笔墨符串进行截取时,应根据须要选择mb_substr或mb_strcut,从而避免涌现半个字符乱码的情形。

相关文章

招商蛇口中国房地产龙头企业,未来可期

招商蛇口(股票代码:001979),作为中国房地产企业的领军企业,自成立以来始终秉持“以人为本,追求卓越”的经营理念,致力于打造高...

网站推广 2025-02-18 阅读0 评论0