欢迎来到六久阁织梦模板网!
pbootcms网站建设中替换标题中的特殊符号,自定义标签修改方法

pbootcms网站建设中替换标题中的特殊符号,自定义标签修改方法

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 未知

更新日期: 2023-08-16

文章简介

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

  • 正文开始
  • 热门文章

最新在使用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]);

pbootcms网站建设中替换标题中的特殊符号,自定义标签修改方法

                $data = '';

                foreach ($params as $key => $value) {

                    switch ($key) {

                        case 'title'://这里其实可以解析很多的,不只是title,可以根据case进行不同的解析

                            $data = $value; // 获取到的文章title

                            if (! $data) { // 无内容不解析

                                continue;

                            }

                            $data = titlereplace($data); //testreplace方法为自定义方法,在ppscommon unction.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后台密码遗忘,如何找回?
    阅读
    pbootcms是一款功能强大的内容管理系统,它为用户提供了方便快捷的网站建设和管理工具。由于各种原因,有时候我们可能会忘记pbootcms后台的登录密码,这给我们的网站管理带来了一定的困扰。那么,当我们忘记了pbootcms后台密码时,应该如何找回呢?本文将从...
  • pbootcms免费插件下载、pbootcms免费插件下载中心,助你快速获取所需插件
    阅读
    pbootcms是一款免费的内容管理系统,它提供了丰富的插件下载中心,为用户快速获取所需插件提供了便利。我将详细介绍pbootcms免费插件下载和下载中心的各个方面,帮助读者更好地了解和使用这个功能。 1. 插件下载中心的背景 在开始介绍pbootcms的插件下载中心...
  • pbootcms生成静态、pbootcms静态生成:高效实现网站静态化
    阅读
    pbootcms是一款高效的网站管理系统,它提供了静态生成的功能,可以帮助用户将网站内容快速生成静态页面。本文将详细介绍pbootcms生成静态、pbootcms静态生成的过程和优势,希望能引起读者的兴趣。 在互联网时代,网站的访问速度和用户体验是至关重要的。传统...
  • PBOOTCMS容易被挂马—PBOOTCMS易被挂马,安全需加强
    阅读
    大家好,今天我想和大家聊一聊PBOOTCMS容易被挂马的问题。PBOOTCMS是一款功能强大的内容管理系统,但是在安全性方面却存在一些问题。本文将详细阐述PBOOTCMS容易被挂马的原因,并提出加强安全性的建议。希望能够引起大家对PBOOTCMS安全性的关注,以保护网站...
  • pbootcms页面不存在;pbootcms页面未找到:解决办法和常见错误,完美指南
    阅读
    你是否曾经遇到过在使用pbootcms时遇到页面不存在或未找到的问题?这个问题可能让你感到困惑和无助。不要担心!本篇文章将为你提供完美的解决办法和常见错误的指南,帮助你轻松解决这个问题。 1、数据库连接错误 在使用pbootcms时,页面不存在或未找到的一个...
  • pbootcms漏洞处理-pbootcms漏洞处理:最全面的解决方案指南
    阅读
    PbootCMS是一款开源的内容管理系统,它提供了丰富的功能和灵活的扩展性,被广泛应用于各种网站开发中。就像其他软件一样,PbootCMS也存在一些安全漏洞,如果不及时处理,可能会导致网站被黑客攻击和数据泄露的风险。本文将为大家介绍PbootCMS漏洞处理的最全...
  • PbootCMS网站打不开,PbootCMS网站无法访问:解决方案大揭秘
    阅读
    在当今数字化时代,网站已经成为人们获取信息、交流和商业活动的重要平台。有时我们可能会遇到PbootCMS网站打不开或无法访问的问题,这给我们的工作和生活带来了困扰。本文将详细阐述PbootCMS网站打不开和无法访问的原因,并提供解决方案,帮助读者解决这一...
  • pbootcms更换模板方法,pbootcms模板更换方法详解
    阅读
    pbootcms是一款功能强大的开源内容管理系统,它提供了丰富的模板选择,让用户可以轻松更换自己喜欢的模板。本文将详细介绍pbootcms的模板更换方法,帮助读者了解如何进行模板更换,并提供一些实用的技巧和注意事项。 一、背景介绍 pbootcms是一款基于PHP+MyS...
  • pbootcms上传限制_pbootcms上传限制:解决大文件上传、格式限制等问题
    阅读
    PbootCMS是一款功能强大的内容管理系统,它不仅可以帮助用户轻松搭建网站,还提供了丰富的插件和模板,满足不同用户的需求。在使用PbootCMS时,我们可能会遇到一些上传限制的问题,比如无法上传大文件或者受到格式限制。本文将围绕这一主题展开,详细介绍Pbo...
  • 宝塔搭部署pbootcms(宝塔助力,轻松搭建pbootcms网站)
    阅读
    您是否在寻找一种简单而有效的方法来搭建自己的网站?宝塔控制面板是一个功能强大且易于使用的工具,可以帮助您轻松地搭建pbootcms网站。我们将详细介绍宝塔搭建pbootcms网站的过程,并提供一些建议和技巧,帮助您更好地利用宝塔控制面板。 1、什么是宝塔控...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
PbootCMS网站建设中经常用if判断语句总结
« 上一篇 2023年04月01日
pbootcms二开网站建设自定义表单增加搜索
下一篇 » 2023年07月19日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!