• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    织梦cms(DEDECMS)通过正则批量查找替换数据库的自定义内容

    发布者: 火山休眠期 | 发布时间: 2025-7-24 16:50| 查看数: 103| 评论数: 0|帖子模式

    目录


    • ]*>|
    • |
            例如网站的一个例子
            是替换一个div中的内容,摘抄实践下,关键还是自己去体会,多用下正则,还是不错的、正则相关的文章我在我的博客中也多次提到了他的多种运用途径。如果你都掌握好它的话,你的工作效率就会成倍的提高了。下面这个正则的用途是查找数据库的中自
            定义的DIV层中运用,一般这种用法你在采集,或者,用word直接添加内容后会用到。

            看看这个是如何去除的。
            例子一,去除简单自定义内容内容
            选择数据表与字段:dede_addonarticle
            替换方式:选择正则表达式
            主键字段:aid
            被替换内容:MM[\d]*GG
            选择字段:body(这表是存储文章内容的),选择单选框:正则表达式,主键字段填写"aid",被替换内容为上面的正则:
            例:MM[\d]*GG
            替换为:可为空,也可填写你想置换为的内容。
            替换条件:如果是全部,就不填写。开始测试时,先备份了数据库,然后仅替换一篇文章,条件中填写:aid=888,如果是分类,就填写:typeid=18,这样缩小替换范围,避免出错。
            填写安全确认码,替换就ok了,
            例子二,去除
    *内容




    文章地址址://www.jb51.net/


            上述代码,是一个不错的style,大家可以显示下,调试效果不错。

            可以利用以下正则来替换:


    (.*)

            在dede后台,选择:核心–数据库内容替换–选择表: 

            选择数据表与字段:dede_addonarticle

            替换方式:选择正则表达式

            主键字段:aid

            被替换内容:
    (.*)

            选择字段:body(这表是存储文章内容的),选择单选框:正则表达式,主键字段填写"aid",被替换内容为上面的正则:

            例:
    (.*)

            替换为:可为空,也可填写你想置换为的内容。

            替换条件:如果是全部,就不填写。 

            注意:开始测试时,先备份了数据库,然后仅替换一篇文章,条件中填写:aid=8880,如果是分类,就填写:typeid=18,这样缩

            小替换范围,避免出错。


            填写安全确认码,替换就ok了,注意这个安全确认码会有失效周期,但它自己不提示,也有这个可能,会选择替换无反应,遇见

            这情况,只有刷新当前页面了。

            很完整了吧!其它正则参考:http://bbs.dedecms.com/214856.html,这个当中的也不完整,也不太正确,需要对比来修改调试

            ,很费时间。 

            正则是个好技术,有着很强大的应用,花了点时间看,你的工作效果会大陪的提高!

            这是我在处理文章时用到一些正则表达式,里面有你要的。在Editplus中使用。

            在表:dede_addonarticle中,body字段即是文章内容。

            过滤Table相关的:


    ]*)>|||||| 

            正则: width=\"[0-9][0-9][0-9]\"| width=[0-9][0-9][0-9]| height=\"[0-9][0-9][0-9]\"| height=[0-9][0-9][0-9],

            说明:过虑height、Width。 

            正则:|]*>||,注意:匹配或者。 

            正则: style=\"[^"]*\"| style=[^"]*,注意:匹配 

            正则:]*)>(.*),注意:匹配

            正则:<span >]*>|||<strong>]*>|| ,注意:匹配<span >和<strong>

            正则: border="[0-9]"| border=[0-9],注意:匹配border=""

            正则:]*>|| ,注意:匹配

            正则: id=[^ ]*| id=\"[^ ]*\",注意:匹配id=""

            正则: title=[0-9][^ ]*| title=\"[0-9][^ ]*\"| target='_blank'>QQ号:^[1-9]*[1-9][0-9]*$ 
            下表是元字符及其在正则表达式上下文中的行为的一个完整列表: 
            \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 
            ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 
            $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 
            * 匹配前面的子表达式零次或多次。 
            + 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 
            ? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 
            {n} n 是一个非负整数,匹配确定的n 次。 
            {n,} n 是一个非负整数,至少匹配n 次。 
            {n,m} m 和 n 均为非负整数,其中n ||</p>||||
    |



            还有一些,可供你参考,我加了一些注释,发个贴太累了,哎~~~自己摸索吧:
            正则: width=\"[0-9][0-9][0-9]\"| width=[0-9][0-9][0-9]| height=\"[0-9][0-9][0-9]\"| height=[0-9][0-9][0-9],说明:过虑height、Width。
            ------------------------------------------------------
            正则:
    |]*>||,注意:匹配或者。
            ------------------------------------------------------
            正则: style=\"[^"]*\"| style=[^"]*,注意:匹配
            ------------------------------------------------------
            正则:]*)>(.*),注意:匹配
            ------------------------------------------------------
            正则:]*>|||]*>|| ,注意:匹配和
            ------------------------------------------------------
            正则: border="[0-9]"| border=[0-9],注意:匹配border=""
            ------------------------------------------------------
            正则:]*>|| ,注意:匹配
            ------------------------------------------------------
            正则: id=[^ ]*| id=\"[^ ]*\",注意:匹配id=“” 
            ------------------------------------------------------
            正则: title=[0-9][^ ]*| title=\"[0-9][^ ]*\"| alt=[0-9][^ ]*| alt=\"[0-9][^ ]*\"| alt=[a-z][^ ]*| alt=\"[a-z][^ ]*\",注意:匹配Title或者alt
            ------------------------------------------------------
            正则:,说明:匹配HTML注释
            ------------------------------------------------------
            正则:,说明:匹配之间的全部内容
            ------------------------------------------------------
            正则: class=[a-z][^ |^>]*| class=\"[a-z][^ |^>]*\",说明:清理class="",经过充分测试
            ------------------------------------------------------
            正则:]*)>||||||
            ------------------------------------------------------
            正则:
    ]*>|


    |

    | align=left|||||]*)>|
    |




    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表