当前位置:首页 » 编程语言 » php截断字符串

php截断字符串

发布时间: 2025-06-20 07:09:00

‘壹’ php字符串的截取

1楼的代码有点问题雹困瞎 截取中文会出现问题 比如刚好是9个字母1个汉字 你截源空取10位的话 就会出现尺皮乱码 所以截取含中文字符串时要用mb_substr代替substr

for($i=0;$i<strlen($str);$i=$i+10){
$string=mb_substr($str,$i,10);
echo $string."<br>";
}

‘贰’ php截取字符串函数

PHP中,字符串截取是非常常见的操作。通过使用substr函数,我们可以按照指定位置或长度获取字符串的一部分。以下是一些示例:

首先,substr函数用于从指定位置开始取字符,如从字符串"ABCDEFGHIJKLMNOPQRSTUVWXYZ"的第5个字符开始取,直到字符串结束,结果为"BZYX"。

接着,可以指定截取的长度,如从第9个字符开始取4个字符,得到"DEFG"。另一个例子是取倒数第5个字符,这会返回"V"。

对于倒数字符的截取,substr函数同样适用。从倒数第8个字符开始取4个字符,结果为"力选水女";而从倒数第8个字符开始取到倒数第6个字符(因为长度为2),输出为"力选.. "

在处理中英文混合的字符串时,为了防止乱码,可以使用自定义函数substr_cut。这个函数会截取全角和半角字符混合的字符串,如果超过指定长度,会截取到出现非英文字符的位置,并用".."代替后续内容。

‘叁’ 如何利用PHP来截取一段中文字符串而不出现乱码

/*
功能:截取全角和半角混合的字符串以避免乱码
参数:
$str_cut 需要截断的字符串
$length允许字符串显示的最大长度

*/

functionsubstr_cut($str_cut,$length=30){

if(strlen($str_cut)>;$length){
for($i=0;$i<$length;$i++)
if(ord($str_cut[$i])>;128) $i++;
$str_cut=substr($str_cut,0,$i)."...";
}
return$str_cut;
}

说明:
程序的关键语句是:

for($i=0;$i<$length;$i++)
if(ord($str_cut[$i])>;128) $i++;

$str_cut=substr($str_cut,0,$i)."...";
如果字符的ASCII码大于128,说明当前字符和下一个字符是属于一个汉字的。
则,$i++跳过对下一个字符的判断。
再结合循环中的$i++,实际上,当遇到一个汉字时,$i就会加2,从而正确的跳过汉字。
最终实现的效果是,$i变量指向的要么是半角的字符,要么是全角汉字的首字符,不会指向
全角汉字的第二个字符,所以,当$i>;=$length时,循环结束,使用
$str_cut=substr($str_cut,0,$i)."...";截取字符时自然也就不会出现乱码了。


本人在写一个程序时需要利用PHP从一段字符串中截取指定长度的一段字符下来。以前在写ASP的时候,参考动网的程序写过类似的程序,不过,还没用PHP写过。

想偷懒,看有不有现成的代码可以用。于是,在GOOGLE中输入:PHP截断字符后查找到一段代码。

热点内容
无需密码访问局域网 发布:2025-06-20 13:30:56 浏览:54
安卓手机怎么用火箭 发布:2025-06-20 13:25:31 浏览:278
免费公网服务器阿里云 发布:2025-06-20 13:18:12 浏览:452
答案脚本 发布:2025-06-20 13:06:36 浏览:941
自学编程脚步 发布:2025-06-20 13:02:22 浏览:298
存折如何修改密码 发布:2025-06-20 12:52:23 浏览:424
mac连接windows共享文件夹 发布:2025-06-20 12:49:48 浏览:269
培训java哪里比较好 发布:2025-06-20 12:47:10 浏览:216
服务器如何停用显卡 发布:2025-06-20 12:41:03 浏览:242
自动取数据库 发布:2025-06-20 12:40:15 浏览:981