DEDE 字符串操作常见问题
PHP String 函数
1.substr中文乱码,使用mb_substr处理
{dede:arclist row='10' typeid='10'} <div class='titlelink'><a href="[field:arcurl/]"> [field:fulltitle runphp='yes'] $count = strlen(@me); if($count>56) { @me=mb_substr(@me,0,20,'utf-8').'...'; } [/field:fulltitle] </a></div>{/dede:arclist}
方法拓展:
mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。
< ?php echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?> 输出:这样一来我的字 < ?php echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?>
输出:这样一
PHP substr截取中文字符无乱码的方法
function GBsubstr($string, $start, $length) { if(strlen($string)>$length){ $str=null; $len=$start+$length; for($i=$start;$i<$len;$i++){ if(ord(substr($string,$i,1))>0xa0){ $str.=substr($string,$i,2); $i++; }else{ $str.=substr($string,$i,1); } } return $str.'...'; }else{ return $string; } }