dedecms分页效果(dedecms重新定义cn_substr函数截取字数更准确)
类别:CMS系统 浏览量:2803
时间:2022-01-18 01:19:34 dedecms分页效果
dedecms重新定义cn_substr函数截取字数更准确方法说明:
一、找到\include\helpers\string.helper.php把原来约33到102行(也就是定义cn_substr()函数的那段代码)替换掉,你要是怕不行,可以先把这个文件备份下,亲;
/**
* 中英文截取字符串,汉字安2个字节
*
* @access public
* @param string $str 需要截取的字符串
* @param int $cutLen 截取的长度
* @param bool $cutSlashes 是否去掉\
* @param bool $addSlashes 是加\
* @param string $oDot 截取后加的字符串,如经常用的三个点
* @param bool $hasHtml 是否有html
* @return string
*/
if ( ! function_exists(‘cn_substr’)){
function cn_substr($str, $cutLen, $oDot = null, $hasHtml = false, $cutSlashes = false, $addSlashes = false) {
global $cfg_soft_lang;
$str = trim ( $str );
if ($cutSlashes) $str = stripslashes ( $str );
if($hasHtml){
$str = preg_replace ( “/(\<[^\<]*\>|\r|\n|\s|\[.+?\])/is”, ‘ ‘, $str );
$str = htmlspecialchars ( $str );
}else{
$str = htmlspecialchars ( $str );
}
if ($cutLen && strlen ( $str ) > $cutLen) {
$nStr = ”;
if ($cfg_soft_lang == ‘utf-8′) {
$n = 0;
$tn = 0;
$noc = 0;
while ( $n < strlen ( $str ) ) {
$t = ord ( $str [$n] );
if ($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
$tn = 1;
$n ++;
$noc ++;
} elseif (194 <= $t && $t <= 223) {
$tn = 2;
$n += 2;
$noc += 2;
} elseif (224 <= $t && $t < 239) {
$tn = 3;
$n += 3;
$noc += 2;
} elseif (240 <= $t && $t <= 247) {
$tn = 4;
$n += 4;
$noc += 2;
} elseif (248 <= $t && $t <= 251) {
$tn = 5;
$n += 5;
$noc += 2;
} elseif ($t == 252 || $t == 253) {
$tn = 6;
$n += 6;
$noc += 2;
} else {
$n ++;
}
if ($noc >= $cutLen)break;
}
if ($noc > $cutLen) $n -= $tn;
$nStr = substr ( $str, 0, $n );
} else {
for($i = 0; $i < $cutLen – 1; $i ++) {
if (ord ( $str [$i] ) > 127) {
$nStr .= $str [$i] . $str [$i + 1];
$i ++;
} else {
$nStr .= $str [$i];
}
}
}
$str = $nStr . $oDot;
}
if ($addSlashes) $str = addslashes ( $str );
$str = htmlspecialchars_decode ( $str );
return trim ( $str );
}
}
二、全站都使用cn_substr()函数,不管你程序是gbk还是utf8;
比如你要调用10个字(拼音汉字混杂):[field:title function='cn_substr(@me,20)']即可
您可能感兴趣
- dede织梦怎么在文章下面添加图片(dedecms织梦模板用array调用多个自定义字段并判断的方法)
- dedecms更新后设置不显示(dedecms中tags页面显示错位的解决方法)
- dedecms手机独立域名(DedeCMS Wap.php 绑定域名的解决办法)
- dedecms运行环境(织梦dedecms5.7生成首页提示404错误解决办法)
- dedecms标签怎么调用(dedecms首页调用随机文章及自动更新功能实例)
- dedecms有哪些功能(dedecms 二次开发之审核时间同步更新)
- dedecms自定义字段(详解怎么样让DEDECMS的list标签支持weight排序的方法)
- dedecms导入doc插件(DEDECMS教程之静态模板类类文件)
- dedecms安全验证(dede验证码错误 dede验证码一直提示错误的解决方法)
- 织梦dedecms建站详细流程(修改织梦dedecms后台默认admin账号的方法)
- dedecms使用教程(dedecms中首页调用专题的方法5.1-5.7)
- dedecms统计功能(DedeCMS sql 调用数字递增标签以及修改方法)
- dedecms搜索功能怎么设置详细(DEDECMS自定义联动类别调用及修改方法)
- dedecms的常用标签有哪些(dedecms5.7 ask模块现404的解决方法)
- dedecms主表内容(DEDECMS最为常用的分页标签及分页样式代码)
- dedecms有哪些功能(织梦DedeCMS v5.7全文检索使用说明sphinx)
- 息烽 这个村 治垃圾 有招 人人争当卫生模范(息烽这个村治垃圾)
- 今天要吃什么(今天要吃什么菜)
- 三杨之一 南杨 杨溥 安贞履节,酿醴调羹,宰相之气(三杨之一南杨杨溥)
- 今天会下雨吗(今天会下雨吗小说)
- 追连续剧,品古今联4 明代三杨,联妙诗佳(追连续剧品古今联4)
- 三杨 共辅四朝帝王,构建明帝国内阁行政圈(三杨共辅四朝帝王)
热门推荐
- mysql索引详解及基本用法(Mysql普通索引与唯一索引的选择详析)
- 介绍几个Visual Studio 调试技巧
- css布局详细介绍(浅谈CSS 栅格系统布局原理分析)
- centos6.8安装docker(Linux Centos下使用脚本安装Docker的方法)
- sql取值唯一的方法(SQL 获取所有上级的实现方法)
- wampserver怎么进后台(WampServer下使用多端口访问的技巧)
- yield方法可以使一个线程停止运行(Yii2.0框架模型添加/修改/删除数据操作示例)
- sqlserver2008远程连接设置(如何开启SqlServer 远程访问)
- 宝塔面板错误代码3(宝塔面板打开网站No input file specified如何解决?)
- mysql视图管理方法(MySQL 视图View原理解析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9