当前位置:首页>行业动态> 正文

如何在织梦dedecms中有效使用PHP常用函数?

织梦CMS常用PHP函数包括:获取当前时间、截取字符串、判断是否为空等。具体可参考官方文档或相关教程。

织梦DedeCMS是一款广泛使用的PHP内容管理系统,它提供了丰富的内置函数来帮助开发者更高效地处理数据和生成动态内容,以下是一些常用的PHP函数及其用途:

函数名功能描述参数说明使用示例
cn_substr截取中文字符串$str: 需要截取的字符串;$slen: 需要截取的长度, 单字节截取模式, 一个中文占用2个字节;$startdd=0: 截取开始位置标记处, 默认为0从头开始{field:title function=’cn_substr(@me, 10)’/}
Html2TextHTML代码转换为Text文本$str: 需要转换的代码;$r=0 r=0直接返回内容, 否则需要使用反斜线引用字符串{field:description function=’Html2Text(@me)’/}
Text2Html将Text转换为HTML代码格式$txt: 需要格式化的Text代码{field:body function=’Text2Html(@me)’/}
MyDate将Unix时间戳转换为格式化的日期$format=’Ymd H:i:s’: 日期转换后的格式;$timest=0: 时间基准{field:pubdate function=’MyDate(‘Ymd’,@me)’/}
GetDateTimeMk返回格式化的时间$mktime=”: 需要转换的日期
GetOneArchive获取指定的某篇文档的各个信息$id: 传递某篇文档的ID号
GetChannelTable获取指定模型的表名信息$id: 传递ID号;$formtype=’channel’: 传递的类型(默认为模型ID, 可选archive与typeid)
GetTags获取指定文档ID的所有tag标签$aid: 指定文档ID编号
GetTopids获取指定栏目的所有上级栏目ID列表$tid: 指定栏目的ID号
GetTopid获取指定栏目的顶级栏目ID$tid: 指定栏目的ID号
GetSonIds获取某栏目的所有下级栏目ID列表$id: 指定栏目ID编号;$channel=0: 限定内容模型ID;$addthis=true: 是否包含本身
GetOneTypeUrlA根据指定栏目信息获取栏目的URL地址$typeinfos: 栏目的一些指定信息(可以直接传递某栏目的所有信息数组)
utf82gbUTF8编码转换为GBK编码$utfstr: UTF8编码的字符串
gb2utf8GBK编码转换为UTF8编码$gbstr: GBK编码的字符串
AjaxHead禁止缓存页面
GetIP获取用户客户端IP地址
HtmlReplace去除HTML中不规则的字符$str: 需要处理的字符串;$rptype=0: 处理类型
RemoveXSS移出浏览器XSS的破绽$val: 需要处理的值
TrimMsg对变量禁用HTML但允许使用换行符$msg: 需要处理的消息
FilterSearch过滤搜索的字符串$keyword: 搜索关键词
GetCurUrl获取当前页面的脚本地址{dede:CurUrl runphp=’yes’}@me = GetCurUrl();{/dede:CurUrl}
GetAlabNum把字符串里的全角数字转为半角数字(会删除非数字类型的字符)$str: 需要处理的字符串[field:listnum function=’GetAlabNum(@me)’/]
Text2Html文本转HTML$txt: 文本内容[field:textcontent function=’Text2Html(@me)’/]
ClearHtml清除html标记$content: 含有html标记的内容{dede:content function=’ClearHtml(@me)’/}

FAQs

1、如何在DedeCMS中使用cn_substr函数截取中文字符串?

解答:在DedeCMS模板中使用cn_substr函数可以截取指定长度的中文字符串,要截取标题中的前10个中文字符,可以使用以下代码:

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

这里,@me表示当前字段的值,10是要截取的中文字符数量,由于中文字符在编码上通常占用两个字节,所以这个函数会根据字节数来进行截取。

2、如何将HTML代码转换为纯文本?

解答:在DedeCMS中,你可以使用Html2Text函数来将HTML代码转换为纯文本,这在你需要从HTML内容中提取可读文本时非常有用,如果你有一个包含HTML标签的描述字段,并希望在meta描述中只显示纯文本,可以使用以下代码:

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

这样,所有的HTML标签都会被移除,只保留文本内容,如果设置$r参数为0,则函数会直接返回内容;如果设置为非0,则需要使用反斜线引用字符串。

函数名作用示例
CmsSysFun获取系统信息$sys_info = CmsSysFun();
GetArchivesList获取文章列表$archives_list = GetArchivesList(1, 10);
GetCatInfo获取分类信息$cat_info = GetCatInfo(1);
GetLinkList获取友情链接列表$link_list = GetLinkList(1, 10);
GetArList获取文章列表(包含文章内容)$ar_list = GetArList(1, 10);
GetOneArchives获取单篇文章信息$archives_info = GetOneArchives(1);
AddArchives添加文章$add_result = AddArchives($archives_data);
EditArchives编辑文章$edit_result = EditArchives($archives_data);
DelArchives删除文章$del_result = DelArchives(1);
AddCategory添加分类$add_result = AddCategory($category_data);
EditCategory编辑分类$edit_result = EditCategory($category_data);
DelCategory删除分类$del_result = DelCategory(1);
AddLink添加友情链接$add_result = AddLink($link_data);
EditLink编辑友情链接$edit_result = EditLink($link_data);
DelLink删除友情链接$del_result = DelLink(1);
ArcListPage分页显示文章列表$page_list = ArcListPage(1, 10, 20);
GetOnePage获取单页内容$page_content = GetOnePage(1);
GetPageList获取分页列表$page_list = GetPageList(1, 10);
CmsConvertToUtf8字符编码转换$utf8_content = CmsConvertToUtf8($gbk_content);
CmsConvertToGbk字符编码转换$gbk_content = CmsConvertToGbk($utf8_content);
Cms_mb_substr字符串截取$sub_content = Cms_mb_substr($content, 0, 100);
Cms_mb_strlen获取字符串长度$length = Cms_mb_strlen($content);
Cms_mb_convert_encoding编码转换$converted_content = Cms_mb_convert_encoding($content, ‘UTF8’, ‘GBK’);