pbootcms利用扩展标签二次格式化模型字段 -分割多行字段成为faq问答
2023-04-24 19:32:16
分割多行字段成为faq问答,首先先模型字段新增一个多行字段,填写内容如下,
问题.
答案.@
问题1.
答案.@
@是必备的。因为要拆分二次,一个组一个@
然后在,apps/home/controller/ExtLabelController.php 目录里面添加自定义标签 (扩展标签)
添加以下代码
/* 必备启动函数 */ public function run($content) { // 接收数据 $this->content = $content; // 执行个人自定义标签函数 $this->test(); // 执行个人自定义标签函数 $this->fenge(); // 返回数据 return $this->content; } /*拆分多行文字,转换成faq样式,一个提问,一个问答 */ private function fenge() { $pattern = '/{fenges?(([^}]+))}/'; if (preg_match($pattern, $this->content, $matches)){ $this->content = preg_replace_callback( $pattern, function($matches){ /*拆分多行文字,转换成faq样式*/ $code = explode("@",$matches[1]); //$count = 0; foreach ($code as $line) { $codeer = explode(".",$line); $nr.="<div role="listitem" class="opening-box w-dyn-item"><div class="col-6"><div class="h2 v-margin-0-25">"; $nr.=preg_replace('/<brs*/?>/i', '', $codeer[0]); $nr.="</div><div class="hidden"><p class="v-margin-0-25">"; $nr.= "".preg_replace('/<brs*/?>/i', '', $codeer[1]).""; $nr.="</p></div></div><div class="box-opener lavender"><div class="box-opener-line vertical"></div><div class="box-opener-line"></div></div></div>"; //$count++; } return $nr; },$this->content); } }
最后模板文件这样调用就行了
{fenge({content:ext_dshycwzwd})}
php文件附件:
【责任编辑:超级管理员】
关键字: pbootcms常见问题
2023最新google翻译网页api使用方法,测试可用 google maps地图不用api调用,用js动态调用目前测试可用,2023年05月最新文章
2021-05-10 09:29
- 简单实现 网站转微信小程序,并且让他支持 转发给朋友 功能
- 取消pbootcms 首页加入了?参数后 301重定向问题
- dede 电脑端和手机端首页同步生成方法,
- excel表格导入access中不换行解决办法-
- dede完美上下篇 英文版替换标签 dede:prenext 中英
- dede中英文网站栏目条调用方法
- dede双语站 面包导航{dede:field name='position'}
- PS: 无法完成请求,因为某种原因阻止文本引擎进行
- dede企业网站常见左侧固定大小类二级菜单调用代码
- 栏目页dede:channelartlist调用下级子类并dede:arcl
- dede:channelartlis 判断是否有子类栏目
- 更换织梦后台图集上传flash插件为layui上传模块
相关文章
2021-05-10 09:29