<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="总结php中文字符串截取方法实例代码" id="card1">
<p> 游客</p><p>
标题:总结php中文字符串截取方法实例代码<br/>
正文:<br/>
本文实例总结了php中文字符串截取方法，非常实用的技巧。分享给大家供大家参考。具体方法分析如下：用PHP函数substr截取中文字符可能会出现乱码，主要是substr可能硬生生的将一个中文字符&amp;ldquo;锯&amp;rdquo;成两半。解决办法如下：1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。2、自己书写截取函数，但效率不如用mbstring扩展库来得高。3、如果仅是为了输出截取的串，可用如下方式实现：substr($str, 0, 30).chr(0)。substr()函数可以分割文字，但要分割的文字如果包括中文字符往往会遇到问题，这时可以用mb_substr()/mb_strcut这个函数，mb_substr()/mb_strcut的用法与substr()相似，只是在mb_substr()/mb_strcut最后要加入多一个参数，以设定字符串的编码，但是一般的服务器都没打开php_mbstring.dll，需要在php.ini在把php_mbstring.dll打开。举2个例子：① mb_substr示例&amp;lt;?phpecho mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');//输出：这样一来我的字?&amp;gt;② mb_strcut示例&amp;lt;?phpecho mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');//输出：这样一?&amp;gt;通过上述示例可见mb_substr是按字来切分字符，而mb_strcut是按字节来切分字符，但是都不会产生半个字符的现象。PHP实现中文字串截取无乱码的方法：&amp;lt;?php//此函数完成带汉字的字符串取串function substr_CN($str,$mylen){ $len=strlen($str);$content='';$count=0;for($i=0;$i&amp;lt;$len;$i++){if(ord(substr($str,$i,1))&amp;gt;127){$content.=substr($str,$i,2);$i++; }else{$content.=substr($str,$i,1);}if(++$count==$mylen){break;}}echo $content;}$str=&amp;quot;34中华人民<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1790&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1790&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1790&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1790&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1790">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1790">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>