位置: 编程技术 - 正文

浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)(php关键字的意思)

编辑:rootadmin

推荐整理分享浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)(php关键字的意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:浅析php关键词替换功能,浅析php关键词替换功能,浅析php关键词替换方法,浅析php关键词替换方法,浅析php关键词替换方法,php关键词搜索,php关键字,浅析php关键词替换功能,内容如对您有帮助,希望把文章链接给更多的朋友!

php关键词替换的类(避免重复替换,保留与还原原始链接)

本节主要内容:

一个关键词替换的类

主要可以用于关键词过滤,或关键词查找替换方面。

实现过程分析:

浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)(php关键字的意思)

关键词替换,其实就是一个str_replace()的过程,如果是单纯的str_replace面对W的关键词,1W字的文章也只需要2秒左右。

问题所在:

关键词替换了不只一次,比如a需要替换成<a>a</a>,但结果可能是<a><a>a</a></a>等这样。

为此,需要一个方法保护好已经替换了的标签,那么在处理文章之前,就先把标签替换掉比如[_tnum_]在文章处理好了以后再把它还原。

另外一个问题,如果关键字或文章中有[_tnum_]本身怎么办,那么就需要排除这种这里就不能使用str_replace了而需要用到preg_replace用正则来排除。

第三个问题,如果有两个关键字a和ab怎么办,希望先把长的匹配掉,短后匹配,这样就需要在匹配前先排序。

最后一个问题,当str_replace改成了preg_replace以后,变慢了同样一段话W次匹配要5秒钟,字符串处理的函数中strpos要快一些,那么先用strpos找出关键词即可,W次查询还不到1秒。就算是万才道8秒多。

一个关键词匹配替换的类,代码:

代码示例:

标签: php关键字的意思

本文链接地址:https://www.jiuchutong.com/biancheng/284422.html 转载请保留说明!

上一篇:PHP判断字符串长度的两种方法很实用(php判断字符串长度的方法)

下一篇:从刷票了解获得客户端IP的方法(刷票系统能看出来吗)

  • 进项税转出大于进项税,加计抵减怎么计算
  • 汇算清缴需补税
  • 出售交易性金融资产发生的净损失应计入营业外支出
  • 个人提供劳务报酬需要到税务局开发票吗?
  • 网银转账往来款
  • 收企业利息如何做账
  • 外聘人员需要申报个税吗
  • 个人去税务局开专票需要提供什么
  • 单位之间调动
  • 售后维修的配件开维修费
  • 年报中资产总额和所有者权益都填0
  • 帮客户代付保证金违法吗
  • 财务报表里现金是什么
  • 债券投资损失准备累计已计提
  • 私车公用产生的过路费怎么开发票
  • 出租无形资产的收入
  • 申报水利基金减免性质在哪里找?
  • 金税盘没票了
  • 附加税税种认定不完整是什么意思
  • 没收入就没附加税么?
  • 税务电子钥匙补办需要多久
  • 年所得12万以下还用年度申报吗
  • 软件行业研发费用比例有要求么
  • 境内向境外提供服务免征增值税
  • 电子承兑如何转出换成现金
  • 应收账款零头会计处理
  • 股权转让协议解除返还股权优先权
  • php密码加密和解密
  • 银行退回手续费的账务处理
  • macOS Big Sur 11.3 开发者预览版/公测版 Beta 6正式发布
  • 购买材料时采购会计分录
  • 提示内存不足
  • 橡皮树怎么养护
  • php fgets函数的用法
  • 销售产品应交的消费税分录
  • 总包缴税
  • 股东年终利润分录怎么写
  • 科纳克里市
  • 高新技术企业补助需要交所得税吗
  • 小满秒懂百科
  • vue区别
  • 销售折让的会计科目
  • 当月销售次月开票就按次月申报
  • 调账处理
  • 预交的诉讼费怎么做账
  • dede标签的使用
  • 有限责任公司分类
  • ibm.data.db2
  • 生成100个[30-99]之内的随机数
  • mysql字符串字段数据类型
  • sql server获取字段长度
  • 向非关联企业捐赠现金
  • 商场联营扣点缴纳增值税税率
  • 我方税费差额赔偿的时效
  • 员工福利费是不是免税项目
  • 固定资产转让开票大类是什么
  • 营业收入和销售收入的比值
  • 资产负债表的编制依据是会计恒等式
  • sql server数据库中的null(空值)
  • sql1068错误
  • mysql的union和union all
  • shutdown /f
  • linux的收获
  • centos启动按e没用
  • win7双硬盘双系统
  • Windows8和Windows8 RT版的区别介绍
  • cocos2dx-3.2+lua 启动项目小技巧
  • cocos2d在运行java eclipse程序时出现 Error: could not open c:program FilesJavajre6libamd64jvm.cfg
  • perl怎么读取文件
  • cocos2dx ActionManager播放动画回调问题
  • Javascript call和apply区别及使用方法
  • xcopy 批处理
  • linux shell 进程
  • java中的多态性
  • 扇形的菜
  • js怎么修改
  • 信息流广告与原生广告的区别
  • 地税网上办税服务厅
  • 北京医保网上服务大厅
  • 专家咨询费包括哪些内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设