PHP对中文字符串的截取

这是今天工作中遇到的一点问题,截取中文字符串截取到的数字不对

三个函数 

mb_strpos();//查找位置

mb_substr();//截取字符串

mb_strlen();//字符串长度

需要注意的地方是 mb_substr()函数的结束位置是 end - start的值

查找后找到解决方案如下:

 

//开始截取字符串
	if( mb_strpos($row['标题'],"微课大赛优秀作品",0,"utf-8") === 0){
		$str_start =  mb_strlen("微课大赛优秀作品","utf-8");
	}else{
		$str_start =  0;
	}
	echo $str_start;
	$str_end = mb_strpos($row['标题'],"发布时间",0,"utf-8");
	$str = mb_substr($row['标题'] , $str_start , $str_end - $str_start , 'utf-8');
	$str = mb_ereg_replace('^( | )+', '', $str);

	echo $str."<br>";

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能-肥鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值