您的位置:

php剪切字符,php中文字符串截取

本文目录一览:

PHP怎么用substr函数截取字符串中的某部分

1、从第4个字符开始截取到字符串末尾,类似asp中的left:

输出: lacecake.com

2、PHP substr函数从右边截取3个字符,类似asp中的right:

输出:.com

3、PHP substr函数从第4个字符开始截取3个字符:

输出:lac

4、有时我们知道一个字符串的开始和结尾,中间是不定长的字符,这时除了用PHP substr函数的正则外我们还可以用substr实现(当然要得到中间的字符方法有N种,在此只是举例substr的应用):

本例去掉开头4个字符和结尾3个字符,输出中间的字符串:

输出:lacecake.

php 怎么截取汉字字符串?

?php 

$str = '这样一来我的字符串就不会有乱码^_^'; 

echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); 

//结果:这样一来我的字 

echo "

"; 

echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); 

//结果:这样 

?

首先

1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。

2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到

;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了

mb_strcut函数功能也可以截取字符串长度,下面实例具体看看区别在哪:

mb_substr();

php字符截取

当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”

根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了

先看段代码

复制代码

代码如下:

?php

$len

=

15;

$str

=

"这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";

echo

strlen($str)=$len

?

$str

:

(substr($str,0,$len).chr(0)."...");

?

chr(0)相关知识:

null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000

虽然chr(0)不会显示出什么,但是他是一个字符。