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

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

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

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

函数名 功能描述 参数说明 使用示例
cn_substr 截取中文字符串 $str: 需要截取的字符串; $slen: 需要截取的长度, 单字节截取模式, 一个中文占用2个字节; $startdd=0: 截取开始位置标记处, 默认为0从头开始 {field:title function=’cn_substr(@me, 10)’/}
Html2Text HTML代码转换为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: 栏目的一些指定信息(可以直接传递某栏目的所有信息数组)
utf82gb UTF8编码转换为GBK编码 $utfstr: UTF8编码的字符串
gb2utf8 GBK编码转换为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’);
0