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

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

Dec 18, 2019 am 09:26 AM
織夢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>之間的全部內容

正規: 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 <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。 

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {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註解

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

正規:]*)>(.*)

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

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

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

正規:< table([^>]*)>|||||||

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

正規:

]*>|

|

| 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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

織夢cms安全性怎麼樣 織夢cms安全性怎麼樣 Jul 27, 2023 pm 05:32 PM

織夢cms安全性相對較好,原因有:1、漏洞修復速度快;2、CSRF(跨站點請求偽造)保護;3、XSS(跨站腳本攻擊)保護;4、SQL注入保護;5、代碼審計。

織夢CMS站群實作分享 織夢CMS站群實作分享 Mar 18, 2024 am 10:18 AM

織夢CMS站群實務分享近年來,隨著網路的快速發展,網站建置變得越來越重要。在建立多個網站時,站群技術成為了一個非常有效的方法。而在眾多網站建立工具中,織夢CMS憑藉其靈活性和易用性成為了不少站群愛好者的首選。本文將分享一些關於織夢CMS站群的實務經驗,以及一些具體的程式碼範例,希望能為正在探索站群技術的讀者提供一些幫助。 1.什麼是織夢CMS站群?織夢CMS

織夢cms連接資料庫失敗怎麼辦 織夢cms連接資料庫失敗怎麼辦 Jul 20, 2023 pm 02:22 PM

織夢cms連接資料庫失敗解決方法:1、檢查資料庫配置,確保在織夢CMS的根目錄下的/data/config.php 檔案中正確設定了資料庫的相關資訊;2、測試資料庫連接,透過建立一個簡單的PHP腳本來測試資料庫連線是否成功;3、檢查資料庫伺服器狀態,在織夢CMS的根目錄下的/data/config.php 檔案中更換資料庫伺服器位址;4、檢查網路連線。

織夢CMS二級目錄打不開的原因分析 織夢CMS二級目錄打不開的原因分析 Mar 13, 2024 pm 06:24 PM

標題:解析織夢CMS二級目錄打不開的原因及解決方案織夢CMS(DedeCMS)是一款功能強大的開源內容管理系統,被廣泛應用於各類網站建設中。然而,有時在搭建網站過程中可能會遇到二級目錄無法開啟的情況,這給網站的正常運作帶來了困擾。在本文中,我們將分析二級目錄打不開的可能原因,並提供具體的程式碼範例來解決這個問題。一、可能的原因分析:偽靜態規則配置問題:在使用

織夢cms系統有收費的嗎 織夢cms系統有收費的嗎 Aug 11, 2023 pm 01:57 PM

織夢cms系統沒有收費。織夢CMS是一款開源的內容管理系統,其核心程式碼是免費提供的,使用者可以免費下載最新版本的織夢CMS,並且還可以獲得相關的技術支援和文件。但在使用過程中,使用者可能需要購買額外的功能模組或主題模板,這些是收費的,購買這些收費的模組和模板,價格根據具體的功能和設計複雜度而定。

織夢CMS二次開發秘技:解鎖個人化網站客製化技巧 織夢CMS二次開發秘技:解鎖個人化網站客製化技巧 Mar 28, 2024 pm 03:48 PM

織夢CMS是一款非常流行的網站建立系統,它的功能強大,介面友好,容易上手。但有時候,我們會發現要實現一些特殊的需求,光是它原本提供的功能可能有些力不從心。針對這種情況,我們可以進行二次開發,透過客製化程式碼來實現個人化的網站需求。本文將分享一些關於織夢CMS二次開發的秘籍,幫助你解鎖個人化網站客製化的技巧。 1.首頁輪播圖自訂需求描述:原本的織夢CMS首頁

織夢CMS資料庫檔案刪除注意事項 織夢CMS資料庫檔案刪除注意事項 Mar 13, 2024 pm 09:27 PM

標題:織夢CMS資料庫檔案刪除注意事項織夢CMS作為一款流行的網站建立工具,其資料庫檔案刪除是網站維護中經常遇到的問題之一。不正確的資料庫檔案刪除操作可能導致網站資料遺失或網站無法正常運作,因此,在進行資料庫檔案刪除操作時,我們必須格外謹慎。以下將介紹織夢CMS資料庫檔案刪除的注意事項,並提供一些具體程式碼範例,幫助大家正確進行資料庫檔案刪除操作。注意事項:備

織夢CMS刪除資料庫檔案操作指南 織夢CMS刪除資料庫檔案操作指南 Mar 13, 2024 pm 06:33 PM

織夢CMS(DedeCMS)是一款廣泛應用於網站建置的內容管理系統,提供了豐富的功能和靈活的客製化。然而,有時候我們需要刪除資料庫中的一些文件來清理空間或解決一些問題,本文將為大家介紹如何在織夢CMS中操作刪除資料庫文件,並提供具體的程式碼範例。第一步:備份資料庫在進行任何資料庫操作之前,請務必先備份資料庫以防止意外發生。可以透過phpMyAdmin或其他數

See all articles