迅睿cms内容描述多行文本字段如何保留空格与换行?
本文主要解决迅睿cms中内容多行文本字段两个常见的问题,一是模块内容描述字段(description)保存时过滤掉空格与换行的问题。二是多行文本类型的字段(Textarea)包括自带描述字段,在模板中如何调用换行显示。
问题一:描述字段过滤掉空格与换行
迅睿cms添加内容时,如果描述字段(description)没有填写的话,会从内容(content)字段中自动提取一段文字,提取的时候会过滤掉空格与换行。比如做英文站,空格被过滤后就无法阅读了。
解决办法:
后台-设置-内容设置-模块管理-对应模块内容字段-修改描述字段(description)-数据验证-删除过滤函数,如下图:
问题二:多行文本类型字段换行显示调用
模块内容中的多行文本类型字段(Textarea)包括上面提到的内容描述字段,在前端模板中使用默认标签调用不换行,如何调用换行显示呢。
解决办法:
这里以内容描述字段(description)为例,换行显示调用标签:
{nl2br($description)}
//如果是自建多行文本字段,把字段名修改为你的字段英文名称
{nl2br($字段名)}
//如果在list循环中调用,把[字段名]改成[$t.字段名]
{nl2br($t.字段名)}
延伸:自定义过滤函数实现个性过滤需求
有时需要在首页调用栏目内容,但内容中有可能插入了视频、图片等,首页只需要调用文字。如果使用系统内置的dr_clearhtml会把换行也过滤掉,文字挤在一起不好看。这种情况就可以通过自定义函数来实现个性化过滤需求。
解决办法:
打开:config/custom.php 添加以下代码:
<?php
/**
* 开发者自定义函数文件
*/
function dr_reserve_text($str) {
if (is_array($str) || !$str) {
return '';
}
$str = preg_replace('~<img(.*?)>~s','',$str); //过滤图片
$str = preg_replace('~<video(.*?)>~s','',$str); //过滤视频
$str = str_replace("div","p",$str); //div转p
$str = str_replace("<p>
</p>","",$str); //删除空行
return trim($str);
}
然后前端就可以使用自定义过滤函数调用了,示例:
{dr_strcut(dr_reserve_text(dr_share_cat_value(1, 'content')), 600)}
//调用栏目ID为1的内容,截取600,这样就过滤掉了图片、视频、空行的同时保留了换行
相关文档
- pbootcms、dedecms等模板标签正则替换为迅睿cms标...
- 迅睿cms模板如何自定义分页css样式
- 迅睿cms首页及各页面实现ajax瀑布流滚动加载
- 迅睿cms搜索参数单选/多选/下拉字段条件筛选写法
- 迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式
- 迅睿cms会员登录/注册/退出登录后跳转到指定链接或返回当前页面
- 迅睿cms网站任意页面前端调用全局模块表单提交及自定义样式方法
- 为下载的迅睿cms模板前端增加友情链接版块
- 迅睿cms二次开发系统目录结构说明
- 迅睿cms制作模板演示页(给内容创建多个模板和地址)
- 迅睿cms网站后台控制台面板如何添加自定义数据?
- 迅睿cms调用字段敏感信息首尾截取中间隐藏用星号代替
- 迅睿cms使用全局表单制作证书查询功能
- 迅睿cms模块表单制作在线预约报名付款(支持游客免登录支付)
- 迅睿cms读取zip压缩包文件目录结构配合jsTree展示文件树...
- 迅睿cms站群系统实现全国城市分站功能插件及调用标签
- 迅睿cms文章标题生成图片插件:亿级文章配图器不占用空间
- 迅睿cms使用API接口实现主站统一管理多站点群友情链接
- 安装迅睿cms网站程序的服务器环境要求
- 迅睿cms怎么生成真静态?设置定时自动生成静态任务方法