Skip to content
快速导航

DedeCMS常用函数

cn_substr

函数名: cn_substr

功能: 截取中文字符串

参数:

$str='' 需要截取的字符串

$slen='' 需要截取的长度,单字节截取模式,一个中文占用 2 个字节

$startdd=0 截取开始位置标记处,默认为 0 从头开始

返回值:

返回截取后的字符串,错误返回空字符串

范例:

截取 titile 中 5 个中文字符。

html
{field:title  function='cn_substr(@me, 10)'/}

Html2Text

函数名: Html2Text

功能: HTML 代码转换为 Text 文本

参数:

$str='' 需要转换的代码

$r=0 如果 $r=0 直接返回内容,否则需要使用反斜线引用字符串

返回值:

转换后的 Text 文本

范例:

html
{field:description  function='Html2Text(@me)'/}

使用场景:

一般页面 meta 中描述需要保证是 text 文本,所以可以采用这一函数来进行格式化。

Text2Html

函数名: Text2Html

功能: 将 Text 转换为 HTML 代码格式,也可以使用 PHP 原生函数 htmlspecialchars_decode 来处理

参数:

$txt='' 需要格式化的 Text 代码

返回值:

转换后的 Html 代码

范例:

html
{field:body  function=Text2Html(@me)'/}

MyDate

函数名: MyDate

功能: 将 Unix 时间戳转换为格式化的日期

参数:

$format='Y-m-d H:i:s' 日期转换后的格式

$timest=0 时间基准

format字符说明返回值例子
------
d月份中的第几天,有前导零的 2 位数字01到 31
D星期中的第几天,文本表示,3 个字母Mon到 Sun
j月份中的第几天,没有前导零1到 31
l(“L”的小写字母)星期几,完整的文本格式Sunday到 Saturday
NISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加)1(表示星期一)到 7(表示星期天)
S每月天数后面的英文后缀,2 个字符st,nd,rd或者 th。可以和 j 一起用
w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)
z年份中的第几天0到 366
星期------
WISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)例如:42(当年的第 42 周)
------
F月份,完整的文本格式,例如 January 或者 MarchJanuary到 December
m数字表示的月份,有前导零01到 12
M三个字母缩写表示的月份Jan到 Dec
n数字表示的月份,没有前导零1到 12
t给定月份所应有的天数28到 31
------
L是否为闰年如果是闰年为 1,否则为 0
oISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)Examples: 1999 or 2003
Y4 位数字完整表示的年份例如:1999 或 2003
y2 位数字表示的年份例如:99 或 03
时间------
a小写的上午和下午值am或 pm
A大写的上午和下午值AM或 PM
BSwatch Internet 标准时000到 999
g小时,12 小时格式,没有前导零1到 12
G小时,24 小时格式,没有前导零0到 23
h小时,12 小时格式,有前导零01到 12
H小时,24 小时格式,有前导零00到 23
i有前导零的分钟数00到 59>
s秒数,有前导零00到 59>
时区------
e时区标识(PHP 5.1.0 新加)例如:UTC,GMT,Atlantic/Azores
I是否为夏令时如果是夏令时为 1,否则为 0
O与格林威治时间相差的小时数例如:+0200
P与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加)例如:+02:00
T本机所在的时区例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
Z时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。-43200到 43200
完整的日期/时间------
cISO 8601 格式的日期(PHP 5 新加)2004-02-12T15:19:21+00:00
rRFC 822 格式的日期例如:Thu, 21 Dec 2000 16:01:07 +0200
U从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数参见 time()

DANGER

  • 表格需要仔细校对
  • 2023年1月8日12:50:22 上方time()有个链接 待完成

返回值:

转换后的日期格式

范例:

html
{field:pubdate function=MyDate('Y-m-d',@me)'/}

GetDateTimeMk

函数名: GetDateTimeMk

功能: 返回格式化 (Y-m-d H:i:s) 的时间,类似 MyDate 函数,但返回格式固定

参数:

$mktime='' 需要转换的日期

返回值:

格式化以后的时间

范例:

html
{field:senddate  function=GetDateTimeMk(@me)'/}

FloorTime

函数名: FloorTime

功能: 将时间转换为距离现在的精确时间

参数:

$seconds='' 日期时间戳

返回值:

格式化以后的返回时间

范例:

html
{field:senddate  function=FloorTime(@me)'/}

HtmlReplace

函数名: HtmlReplace

功能: 去除 html中 不规则内容字符

参数:

$str='' 需要处理的字符串

$rptype=0 返回类型

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

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

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

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

返回值:

格式化后的字符串

范例:

html
{dede:field.description  function="HtmlReplace(@me,2)"/}

RemoveXSS

函数名: RemoveXSS

功能: 去除 XSS 恶意代码

参数:

$val='' 需要格式化的内容

返回值:

格式化后的字符串

范例:

html
{field:keywords  function=RemoveXSS(@me)'/}