DedeCMS多函数嵌套在调用标签的方法

在使用Dede的时候,用的最多的就是调用标签,而有些网站因为特殊性,在使用调用标签的时候需要对调用的内容进行二次加工处理,这个时候就可能会用到Dede的函数,比如我们最常见的截取字符长度的函数cn_substr,能实现对调用的内容进行长度截取,html2text能实现去html样式转换为纯文本字符,每个都有自己的用处。但是有的时候我们可能既要去样式又要截取字符,那么就要用到多函数嵌套了,今天余斗就说说如何使用dede的多函数嵌套功能(就拿cn_substr与html2text函数举例)。

基本语法:

获取指定数值的字符串

function=cn_substr(@me,
200)

 

去掉html样式,转换为纯文本字符

function=html2text(@me)

 

组合嵌套即提取指定个数的字符串并去掉html样式,转换为纯文本字符

{dede:field.content function=
“Html2Text(cn_substr(‘@me’,110))”/}

 

这段代码实现的是获取获取栏目信息摘要信息(提取110个字符[55个汉字]),删除hml标签元素,转为纯文本!

这就是最基本的DedeCMS的多函数嵌套,能实现我们在想调用指定内容的时候达到我们的多个目的。

高级语法:

函数一:function=a(x,y)

函数二:function=b(w,x)

函数三:function=c(x,y,z)

组合函数:function=
“b(c(a(‘x’,’y’,w,z)) )”

 

附DedeCMS的公用函数(集成于include/common.func.php文件中):

获得当前的脚本网址

function GetCurUrl()

 

返回格林威治标准时间

function MyDate($format=
‘Y-m-d H:i:s’,$timest=
0)

 

把全角数字转为半角

function GetAlabNum($fnum)

 

把含HTML的内容转为纯text

function Html2Text($str,$r=
0)

 

把文本转HTML

function Text2Html($txt)

 

输出Ajax头

function AjaxHead()

 

中文截取2,单字节截取模式

function cn_substr($str,$slen,$startdd=
0)

 

把标准时间转为Unix时间戳

function GetMkTime($dtime)

 

获得一个 0000-00-00 00:00:00 标准格式的时间

function GetDateTimeMk($mktime)

 

获得一个 0000-00-00 标准格式的日期

function GetDateMk($mktime)

 

获得用户IP

function GetIP()

 

获取拼音以gbk编码为准

function GetPinyin($str,$ishead=
0,$isclose=
1)

 

dedecms通用消息提示框

function ShowMsg($msg,$gourl,$onlymsg=
0,$limittime=
0)

 

保存一个cookie

function PutCookie($key,$value,$kptime=
0,$pa=
“/”)

 

删除一个cookie

function DropCookie($key)

 

获取cookie

function GetCookie($key)

 

获取验证码

function GetCkVdValue()

 

过滤前台用户输入的文本内容


// $rptype = 0 表示仅替换 html标记


// $rptype = 1 表示替换 html标记同时去除连续空白字符


// $rptype = 2 表示替换 html标记同时去除所有空白字符


// $rptype = -1 表示仅替换 html危险的标记

function HtmlReplace($str,$rptype=
0)

 

获得某文档的所有tag

function GetTags($aid)

 

过滤用于搜索的字符串

function FilterSearch($keyword)

 

处理禁用HTML但允许换行的内容

function TrimMsg($msg)

 

获取单篇文档信息

function GetOneArchive($aid)