dedecms织梦模板的cn_substr_utf8字符串截取函数商榷 在phpsir看到的这篇文章,主要是说下dedecms 的cn_substr_utf8函数好像有些问题,研究dedecms的朋友可以看下 在dedecms里面 cn_substr_utf8 函数是这样的 代码如下: /** * utf-8中文截取,单字节截取模式 * * @access public * @param string $str 需要截取的字符串 * @param int $slen 截取的长度 * @param int $startdd 开始标记处 * @return string */ if ( ! function_exists('cn_substr_utf8')) { function cn_substr_utf8($str] $length, $start=0) { if(strlen($str) //为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取 for ($i=0; isset($ar[0][$i,); $i++) { if(strlen($tstr) 其中 代码如下: if(strlen($str) 一行可能会造成截取后多了一个字符,可以考虑改为 代码如下: if(strlen($str) 测试代码如下 代码如下: $f = "你好fasdfa你fasdf#e#"; $pos = strpos($f,'#e#'); var_dump($pos); var_dump(cn_substr_utf8($f,$pos)); var_dump(cn_substr_utf82($f,$pos)); function cn_substr($str] $slen, $startdd=0) { global $cfg_soft_lang; if($cfg_soft_lang=='utf-8') { return cn_substr_utf8...
内容已隐藏,请关注公众号输入验证码查看
本帖支持关注公众号查看
【无套路 无套路 无套路 扫描二维码关注公众号发送【验证码】收到验证码 在上面输入点击提交查看即可显示隐藏内容】
|