*新在使用pbootcms进行网站建设时,现有的标签不符合自己的一些业务需求,想着自己做个符合自己的业务的标签,于是参考了一下网上的资料以后便开始着手开发了,整个二开还是比较简单,下面放出来需要修改的文件.

网站建设前端使用标签的地方
我的需求其实是在news.html也就是新闻中文章末尾添加一个自定义图片(根据标题生成一张图片,因为生成图片的方法不能包含特殊符号所以需要把标题中的特殊符号尤其是?去掉)
<!-- 新增图片_dcx-->
<p style="text-align: center;" >
<img style="width:450px;" src="/{pboot:titlereplace title='{content:title}'}.png" alt="{pboot:titlereplace title='{content:title}'}" >
</p>
其中{pboot:titlereplace title='{content:title}'}便是我要新增的标签,title这个属性是在下面的parserTitleReplaceLabel方法中进行case判断用的
ParserController.php 解析标签的类
1)在parserAfter方法中新增一行解析入口
$content = $this->parserTitleReplaceLabel($content);
public function parserAfter($content)
{
// 默认页面信息替换
$content = str_replace('{pboot:pagetitle}', $this->config('other_title') ?: '{pboot:sitetitle}-{pboot:sitesubtitle}', $content);
$content = str_replace('{pboot:pagekeywords}', '{pboot:sitekeywords}', $content);
$content = str_replace('{pboot:pagedescription}', '{pboot:sitedescription}', $content);
$content = str_replace('{pboot:keyword}', get('keyword', 'vars'), $content); // 当前搜索的关键字
// 解析个人扩展标签,升级不覆盖
if (file_exists(APP_PATH . '/home/controller/ExtLabelController.php')) {
if (class_exists('apphomecontrollerExtLabelController')) {
$extlabel = new ExtLabelController();
$content = $extlabel->run($content);
}
}
$content = $this->parserSiteLabel($content); // 站点标签
$content = $this->parserCompanyLabel($content); // 公司标签
$content = $this->parserMemberLabel($content); // 会员标签
$content = $this->parserNavLabel($content); // 分类列表
$content = $this->parserSelectAllLabel($content); // CMS筛选全部标签解析
$content = $this->parserSelectLabel($content); // CMS筛选标签解析
$content = $this->parserSpecifySortLabel($content); // 指定分类
$content = $this->parserListLabel($content); // 指定列表
$content = $this->parserSpecifyContentLabel($content); // 指定内容
$content = $this->parserContentPicsLabel($content); // 内容多图
$content = $this->parserContentCheckboxLabel($content); // 内容多选调取
$content = $this->parserContentTagsLabel($content); // 内容tags调取
$content = $this->parserSlideLabel($content); // 幻灯片
$content = $this->parserLinkLabel($content); // 友情链接
$content = $this->parserMessageLabel($content); // 留言板
$content = $this->parserFormLabel($content); // 自定义表单
$content = $this->parserSubmitFormLabel($content); // 自定义表单提交
$content = $this->parserSqlListLabel($content); // 自定义SQL输出
$content = $this->parserQrcodeLabel($content); // 二维码生成
$content = $this->parserPageLabel($content); // CMS分页标签解析(需置后)
$content = $this->parserIfLabel($content); // IF语句(需置*后)
$content = $this->parserLoopLabel($content); // LOOP语句(需置后,不可放到if前面,否则有安全风险)
$content = $this->restorePreLabel($content); // 还原不需要解析的内容
$content = $this->parserReplaceKeyword($content); // 页面关键词替换
$content = $this->parserTitleReplaceLabel($content); // 通用内容替换标签 这里是我新增的
return $content;
}
2)添加对应的解析方法
// 通用内容替换标签 @mk-title_replace
//$content这里用的时文章标题,直接是字符串
public function parserTitleReplaceLabel($content)
{
$pattern = '/{pboot:titlereplace(s+[^}]+)?}/';
if (preg_match_all($pattern, $content, $matches)) {
$count = count($matches[0]);
for ($i = 0; $i < $count; $i ++) {
$params = $this->parserParam($matches[0][$i]);
$data = '';
foreach ($params as $key => $value) {
switch ($key) {
case 'title'://这里其实可以解析很多的,不只是title,可以根据case进行不同的解析
$data = $value; // 获取到的文章title
if (! $data) { // 无内容不解析
continue;
}
$data = titlereplace($data); //testreplace方法为自定义方法,在ppscommonunction.php里
break;
}
}
$content = str_replace($matches[0][$i], $data, $content);
}
}
return $content;
}
function.php 替换方法titlereplace()在这里写
function titlereplace($data){
//把? ?都替换为空格
$search = array('?','?',' ','%',',');
return str_replace($search, "_", $data);
}
# pbootcms网站建设中替换标题中的特殊符号
# 自定义标签修改方法
# PbootCMS教程
# pbootcms
# 网站
# 中替
# 换标
# 题中
# 特殊
# 符号
# 自定
# 网站建设前端
# 网站建设时
# 关键词
# 自定义
# 自己的
# 是在
# 表单
# 特殊符号
# 我要
# 在这里
# 尤其是
# 不需要
# 做个
# 分页
# 不符合
# 多图
# 可以根据
# 后便
# 则有
# 多选
# 衡阳网站建设和维护公司
# 做优化哪个网站好
# 网站建设定制网站制作定制开发
# 中小企业网站怎么做推广
# 百度做网站做推广可以吗
# 网络推广和营销哪里好mars24
# 创业服装营销推广
# 麻城网站推广价格
# 渭南网站优化哪家好
# 网站推广优化た还是苏da峰s
# 四惠单位网站建设
# 国际贸易简单网站建设
# 涿州营销型网站建设
# 谷歌上的营销推广
# 佛系seo站长的认知
# 辣子鸡营销推广方案
# seo 客源
# 浙江抖音seo费用多少
# 音乐美食节营销推广
# 邢台营销型网站建设
相关文章:
建站之星微信建站一键生成小程序+多端营销系统
常州自助建站费用包含哪些项目?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
制作电商网页,电商供应链怎么做?
如何在建站之星网店版论坛获取技术支持?
制作网页的网站有哪些,电脑上怎么做网页?
如何在七牛云存储上搭建网站并设置自定义域名?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
英语简历制作免费网站推荐,如何将简历翻译成英文?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
网站制作公司排行榜,四大门户网站排名?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何访问已购建站主机并解决登录问题?
小型网站制作HTML,*游戏网站怎么搭建?
无锡营销型网站制作公司,无锡网选车牌流程?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何用PHP快速搭建高效网站?分步指南
如何设置并定期更换建站之星安全管理员密码?
javascript基本数据类型及类型检测常用方法小结
家具网站制作软件,家具厂怎么跑业务?
如何配置IIS站点权限与局域网访问?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
青浦网站制作公司有哪些,苹果官网发货地是哪里?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何在云虚拟主机上快速搭建个人网站?
如何选择可靠的免备案建站服务器?
建站之星与建站宝盒如何选择最佳方案?
建站之星在线版空间:自助建站+智能模板一键生成方案
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Android滚轮选择时间控件使用详解
寿县云建站:智能SEO优化与多行业模板快速上线指南
如何设计高效校园网站?
建站OpenVZ教程与优化策略:配置指南与性能提升
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何通过虚拟机搭建网站?详细步骤解析
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何在阿里云完成域名注册与建站?
如何选择香港主机高效搭建外贸独立站?
建站之星×万网:智能建站系统+自助建站平台一键生成
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
北京网站制作公司哪家好一点,北京租房网站有哪些?
制作网站的公司有哪些,做一个公司网站要多少钱?
如何挑选最适合建站的高性能VPS主机?
网站制作软件有哪些,制图软件有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。