搜尋
首頁CMS教程DEDECMS織夢cms如何透過正規批量查找取代資料庫的自訂內容

織夢cms如何透過正規批量查找取代資料庫的自訂內容

织梦cms如何通过正则批量查找替换数据库的自定义内容?

正则的表达式在MY SQL中也有应用,但是在具体将查找的东西直接进行Replace的时候目前还不能解决,幸好后台中有个dede利用正则,利用dede正则批量替换数据库中内容,这样我们完全减小了自己的工作量了

推荐学习:织梦cms

  

例如网站的一个例子

是替换一个div中的内容,摘抄实践下,关键还是自己去体会,多用下正则,还是不错的、正则相关的文章我在我的博客中也多次提到了他的多种运用途径。如果你都掌握好它的话,你的工作效率就会成倍的提高了。

下面这个正则的用途是查找数据库的中自定义的DIV层中运用,一般这种用法你在采集,或者,用word直接添加内容后会用到。

看看这个是如何去除的。

例子一,去除简单自定义内容内容

选择数据表与字段:dede_addonarticle

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

主键字段:aid

被替换内容:MM[\d]*GG

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

例:MM[\d]*GG

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

替换条件:如果是全部,就不填写。开始测试时,先备份了数据库,然后仅替换一篇文章,条件中填写:aid=888,如果是分类,就填写:typeid=18,这样缩小替换范围,避免出错。

填写安全确认码,替换就ok了,

例子二,去除

*
内容
<div style="background-color: #fff9ee; text-align: center"><font style="font-weight: bold;">文章地址址:<br 
/>//www.jb51.net/<br /></font> </div>

上述代码,是一个不错的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=[^"]*,注意:符合Style="border:" 

正規: ,注意:符合

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

正規: 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註解

正規:<script>]*)>(.*)</script>,說明:符合<script></script>之間的全部內容

正規: class=[a-z][^ | ^>]*| class=\"[a-z][^ |^>]*\",說明:清理class="",經過充分測試

正規:

|
||||||

#😢 #正規:

]*>|

|

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

#正規表示式是一種通用的標準,大部分電腦語言都支援正規表示式,包括as3,這裡轉摘出了一些常用的正規表示式語句,大家用到的時候就不用自己寫了

^[0-9]*[1-9][0-9]*$  //匹配正整數 

^-[0-9]*[1-9][0-9]*$  //匹配負整數 

^-?\d $    //匹配整數整數

#^\d (\.\d )?$  //符合非負浮點數(正浮點數0) 

^(([0-9] \.[0-9] *[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1 -9][0-9]*))$  //匹配正浮點數 

^((-\d (\.\d )?)|(0 (\.0 )?))$ //符合非正浮點數(負浮點數0) 

^(-(([0-9] \.[0-9]*[1-9][0-9]*)| ([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*)))$  / /匹配負浮點數 

^(-?\d )(\.\d )?$  //匹配浮點數 

^[A-Za-z] $  //匹配由26個英文字母組成的字串 

^[A-Z] $  //符合由26個英文字母的大寫組成的字串 

^[a-z] $  //符合由26個由英文字母的小寫組成的字串 

^[A-Za-z0-9] $  //符合由數字和26個英文字母組成的字串 

#^\w $  / /符合由數字、26個英文字母或底線組成的字串 

###^[\w-] (\.[\w-] )*@[\w-] (\.[\w- ] ) $    //符合email位址 ######^[a-zA-z] ://符合(\w (-\w )*)(\.(\w (-\w )*)) *(\?\S*)?$  //匹配url ######符合中文字元的正規表示式: [\u4e00-\u9fa5] #######符合雙位元組字元(包括漢字在內):[^\x00-\xff] ######符合空白行的正規表示式:\n[\s| ]*\r ######符合HTML標記的正規表示式:/ .*|/ ######符合首尾空格的正規表示式:(^\s*)|( \s*$) ######符合Email位址的正規表示式:\w ([- .]\w )*@\w ([-.]\w )*\.\w ([-. ]\w )* ######符合網址URL的正規表示式:^[a-zA-z] ://(\w (-\w )*)(\.(\w (-\w )*))*(\?\S*)?$ ######符合帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][ a-zA-Z0-9_]{4,15}$ ######符合國內電話號碼:(\d{3}-|\d{4}-)?(\d{8}|\d {7})? ######符合騰訊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

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹

配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 

(pattern) 匹配pattern 并获取这一匹配。 

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要

获取供以后使用。 

(?!pattern) 负向预查,与(?=pattern)作用相反 

x|y 匹配 x 或 y。 

[xyz] 字符集合。 

[^xyz] 负值字符集合。 

[a-z] 字符范围,匹配指定范围内的任意字符。 

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。 

\b 匹配一个单词边界,也就是指单词和空格间的位置。 

\B 匹配非单词边界。 

\cx 匹配由x指明的控制字符。 

\d 匹配一个数字字符。等价于 [0-9]。 

\D 匹配一个非数字字符。等价于 [^0-9]。 

\f 匹配一个换页符。等价于 \x0c 和 \cL。 

\n 匹配一个换行符。等价于 \x0a 和 \cJ。 

\r 匹配一个回车符。等价于 \x0d 和 \cM。 

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 

\t 匹配一个制表符。等价于 \x09 和 \cI。 

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 

\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 

\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。 

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。 

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进

制数字 (0-7),则 n 为一个八进制转义值。 

\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为

后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为

八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八

关于批量替换 正则表达式

这是我在处理文章时用到一些正则表达式,里面有你要的。在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=[^"]*,注意:符合Style="border:"

----------------------------------------------- -------

正規: ,注意:符合

------------------------------------ ------------------

正規:]*>|||< ;strong [^>]*>|| ,注意:匹配

---------- --------------------------------------------

正規: 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註解

--------------------------------- ---------------------

正規:<script>]*)>(.*)</script>> ;,說明:符合<script></script>之間的全部內容

------------------------- ------------------------------

正規: class=[a-z][^ |^>]* | class=\"[a-z][^ |^>]*\",說明:清理class="",經過充分測試

-------------- ------------------------------------------

正規:]*)>||

|||||

-------------------------------------------- ----------

正規:

]*>|

|

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

以上是織夢cms如何透過正規批量查找取代資料庫的自訂內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境