您的位置:

php汉字截取函数(字符串截取php)

本文目录一览:

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截取字符串函数

php

//构造字符串

$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

echo "原字符串:".$str."

";

//按各种方式进行截取

$str1 = substr($str,5);

echo "从第5个字符开始取至最后:".$str1."

";

$str2 = substr($str,9,4);

echo "从第9个字符开始取4个字符:".$str2."

";

$str3 = substr($str,-5);

echo "取倒数5个字符:".$str3."

";

$str4 = substr($str,-8,4);

echo "从倒数第8个字符开始向后取4个字符:".$str4."

";

$str5 = substr($str,-8,-2);

echo "从倒数第8个字符开始取到倒数第2个字符为止:".$str5."

";

?

支持中英文混合截取。

代码如下 复制代码

/*

------------------------------------------------------

参数:

$str_cut 需要截断的字符串

$length 允许字符串显示的最大长度

程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码

------------------------------------------------------

*/

function substr_cut($str_cut,$length)

{

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;

}

?

PHP截取字符串长度

php截取中文字符串无乱码函数:

function ZHsubstr($str, $start=0, $length, $charset="utf-8"){

$len = strlen($str); //原字节数

if($len $length)

$suffixStr = "…";

else

$suffixStr = "";

if(function_exists("mb_substr"))

return mb_substr($str, $start, $length, $charset).$suffixStr;

elseif(function_exists('iconv_substr')) {

return iconv_substr($str,$start,$length,$charset).$suffixStr;

}

$re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";

$re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";

$re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";

$re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("",array_slice($match[0], $start, $length));

return $slice.$suffixStr;

}

使用方法:

$str = "$page_title";

$page_title=ZHsubstr($str, 0, 40, 'utf-8');