利用DEDE正则批量查找替换数据库的自定义内容
正则,利用dede正则批量替换数据库中内容,这样我们完全减小了自己的工作量了.
例如网站的I.个例子,
是替换I.个
更多精彩就在: 51免费论文网|www.jxszl.com
div中的内容,摘抄实践下,关键还是自己去体会,多用下正则,还是不错的.正则相关的文章我在我的博客中也多次
提到了他的多种运用途径.如果你都掌握好它的话,你的工作效率就会成倍的提高了.下面这个正则的用途是查找数据库的中自
定义的DIV层中运用,I.般这种用法你在采集,或者,用word直接添加内容后会用到.
看看这个是如何去除的.
例子I.,去除简单自定义内容内容
选择数据表与字段:dede_addonarticle
替换方式:选择正则表达式
主键字段:aid
被替换内容:MM[d]*GG
选择字段:body(这表是存储文章内容的),选择单选框:正则表达式,主键字段填写"aid",被替换内容为上面的正则:
例:MM[d]*GG
替换为:可为空,也可填写你想置换为的内容.
替换条件:如果是全部,就不填写.开始测试时,先备份了数据库,然后仅替换I.篇文章,条件中填写:aid=VIIIVIIIVIII,如果是分类,
就填写:typeid=I.VIII,这样缩小替换范围,避免出错.
填写安全确认码,替换就ok了,
例子II,去除
/>http://www.niIXht.com/
上述代码,是I.个不错的style,大家可以显示下,调试效果不错.
可以利用以下正则来替换:
在dede后台,选择:核心–数据库内容替换–选择表:
选择数据表与字段:dede_addonarticle
替换方式:选择正则表达式
主键字段:aid
被替换内容:
选择字段:body(这表是存储文章内容的),选择单选框:正则表达式,主键字段填写"aid",被替换内容为上面的正则:
例:
替换为:可为空,也可填写你想置换为的内容.
替换条件:如果是全部,就不填写.
注意:开始测试时,先备份了数据库,然后仅替换I.篇文章,条件中填写:aid=VIIIVIIIVIII0,如果是分类,就填写:typeid=I.VIII,这样缩
小替换范围,避免出错.
填写安全确认码,替换就ok了,注意这个安全确认码会有失效周期,但它自己不提示,也有这个可能,会选择替换无反应,遇见
这情况,只有刷新当前页面了.
很完整了吧!其它正则参考:http://bbs.dedecms.com/III.IVVIIIVVI.html,这个当中的也不完整,也不太正确,需要对比来修改调试
,很费时间.
正则是个好技术,有着很强大的应用,花了点时间看,你的工作效果会大陪的提高!
这是我在处理文章时用到I.些正则表达式,里面有你要的.在Editplus中使用.
在表:dede_addonarticle中,body字段即是文章内容.
过滤Table相关的:
正则:width="[0-IX][0-IX][0-IX]"|width=[0-IX][0-IX][0-IX]|height="[0-IX][0-IX][0-IX]"|height=[0-IX][0-IX][0-IX],
说明:过虑height.Width.
正则:
]*>|
|,注意:匹配或者.
正则:style="[^"]*"|style=[^"]*,注意:匹配Style="border:"
正则:,注意:匹配
_________
正则:]*>|||]*>||,注意:匹配和
_________
正则:border="[0-IX]"|border=[0-IX],注意:匹配border=""
_________
正则:]*>||,注意:匹配
_________
正则:id=[^]*|id="[^]*",注意:匹配id=""
_________–
正则:title=[0-IX][^]*|title="[0-IX][^]*"|alt=[0-IX][^]*|alt="[0-IX][^]*"|alt=[a-z][^]*|alt="[a
-z][^]*",注意:匹配Title或者alt
_________–
正则:]*–>,说明:匹配HTML注释
_________
正则:,说明:匹配之间的全部内容
_________
正则:class=[a-z][^|^>]*|class="[a-z][^|^>]*",说明:清理class="",经过充分测试
_________
正则:]*)>|
|| ||||
_________
正则:]*>|| |align=left|||| |]*)>|
正则表达式是I.种通用的标准,大部分计算机语言都支持正则表达式,包括asIII,这里转摘出了I.些常用的正则表达式语句,大家
用到的时候就不用自己写了
^[0-IX]*[I.-IX][0-IX]*$//匹配正整数
^-[0-IX]*[I.-IX][0-IX]*$//匹配负整数
^-?d+$//匹配整数
^d+(.d+)?$//匹配非负浮点数(正浮点数+0)
^(([0-IX]+.[0-IX]*[I.-IX][0-IX]*)|([0-IX]*[I.-IX][0-IX]*.[0-IX]+)|([0-IX]*[I.-IX][0-IX]*))$//匹配正浮点数
^((-d+(.d+)?)|(0+(.0+)?))$//匹配非正浮点数(负浮点数+0)
^(-(([0-IX]+.[0-IX]*[I.-IX][0-IX]*)|([0-IX]*[I.-IX][0-IX]*.[0-IX]+)|([0-IX]*[I.-IX][0-IX]*)))$//匹配负浮点数
^(-?d+)(.d+)?$//匹配浮点数
^[A-Za-z]+$//匹配由IIVI个英文字母组成的字符串
^[A-Z]+$//匹配由IIVI个英文字母的大写组成的字符串
^[a-z]+$//匹配由IIVI个英文字母的小写组成的字符串
^[A-Za-z0-IX]+$//匹配由数字和IIVI个英文字母组成的字符串
^w+$//匹配由数字.IIVI个英文字母或者下划线组成的字符串
^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$//匹配email地址
^[a-zA-z]+://匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$//匹配url
匹配中文字符的正则表达式:[uIVe00-uIXfaV]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式: [s|]*
匹配HTML标记的正则表达式:/<(.*)>.*>|<(.*)/>/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
匹配帐号是否合法(字母开头,允许V-I.VI字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-IX_]{IV,I.V}$
匹配国内电话号码:(d{III}-|d{IV}-)?(d{VIII}|d{VII})?
匹配腾讯QQ号:^[I.-IX]*[I.-IX][0-IX]*$
下表是元字符及其在正则表达式上下文中的行为的I.个完整列表:
将下I.个字符标记为I.个特殊字符.或I.个原义字符.或I.个后向引用.或I.个VIII进制转义符.
^匹配输入字符串的开始位置.如果设置了RegExp对象的Multiline属性,^也匹配 或 之后的位置.
$匹配输入字符串的结束位置.如果设置了RegExp对象的Multiline属性,$也匹配 或 之前的位置.
*匹配前面的子表达式零次或多次.
+匹配前面的子表达式I.次或多次.+等价于{I.,}.
?匹配前面的子表达式零次或I.次.?等价于{0,I.}.
{n}n是I.个非负整数,匹配确定的n次.
{n,}n是I.个非负整数,至少匹配n次.
{n,m}m和n均为非负整数,其中n<=m.最少匹配n次且最多匹配m次.在逗号和两个数之间不能有空格.
?当该字符紧跟在任何I.个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的.非贪婪模式尽可能少的匹
配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串.
.匹配除" "之外的任何单个字符.要匹配包括 在内的任何字符,请使用象[. ]的模式.
(pattern)匹配pattern并获取这I.匹配.
(?:pattern)匹配pattern但不获取匹配结果,也就是说这是I.个非获取匹配,不进行存储供以后使用.
(?=pattern)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串.这是I.个非获取匹配,也就是说,该匹配不需要
获取供以后使用.
(?!pattern)负向预查,与(?=pattern)作用相反
x|y匹配x或y.
[xyz]字符集合.
[^xyz]负值字符集合.
[a-z]字符范围,匹配指定范围内的任意字符.
[^a-z]负值字符范围,匹配任何不在指定范围内的任意字符.
匹配I.个单词边界,也就是指单词和空格间的位置.
B匹配非单词边界.
cx匹配由x指明的控制字符.
d匹配I.个数字字符.等价于[0-IX].
D匹配I.个非数字字符.等价于[^0-IX].
f匹配I.个换页符.等价于x0c和cL.
匹配I.个换行符.等价于x0a和cJ.
匹配I.个回车符.等价于x0d和cM.
s匹配任何空白字符,包括空格.制表符.换页符等等.等价于[f v].
S匹配任何非空白字符.等价于[^f v].
匹配I.个制表符.等价于x0IX和cI.
v匹配I.个垂直制表符.等价于x0b和cK.
w匹配包括下划线的任何单词字符.等价于[A-Za-z0-IX_].
W匹配任何非单词字符.等价于[^A-Za-z0-IX_].
xn匹配n,其中n为XVI进制转义值.XVI进制转义值必须为确定的两个数字长.
um匹配num,其中num是I.个正整数.对所获取的匹配的引用.
标识I.个VIII进制转义值或I.个后向引用.如果 之前至少n个获取的子表达式,则n为后向引用.否则,如果n为VIII进
制数字(0-VII),则n为I.个VIII进制转义值.
m标识I.个VIII进制转义值或I.个后向引用.如果 m之前至少有isprecededbyatleastnm个获取得子表达式,则nm为
后向引用.如果 m之前至少有n个获取,则n为I.个后跟文字m的后向引用.如果前面的条件都不满足,若n和m均为
VIII进制数字(0-VII),则 m将匹配VIII进制转义值nm.
ml如果n为VIII进制数字(0-III),且m和l均为VIII进制数字(0-VII),则匹配VIII
原文链接:http://www.jxszl.com/biancheng/dedecms/74574.html
正则:style="[^"]*"|style=[^"]*,注意:匹配Style="border:"
正则:,注意:匹配
_________
正则:]*>|||]*>||,注意:匹配和
_________
正则:border="[0-IX]"|border=[0-IX],注意:匹配border=""
_________
正则:]*>||,注意:匹配
_________
正则:id=[^]*|id="[^]*",注意:匹配id=""
_________–
正则:title=[0-IX][^]*|title="[0-IX][^]*"|alt=[0-IX][^]*|alt="[0-IX][^]*"|alt=[a-z][^]*|alt="[a
-z][^]*",注意:匹配Title或者alt
_________–
正则:]*–>,说明:匹配HTML注释
_________
正则:,说明:匹配之间的全部内容
_________
正则:class=[a-z][^|^>]*|class="[a-z][^|^>]*",说明:清理class="",经过充分测试
_________
正则:
_________
正则:
正则表达式是I.种通用的标准,大部分计算机语言都支持正则表达式,包括asIII,这里转摘出了I.些常用的正则表达式语句,大家
用到的时候就不用自己写了
^[0-IX]*[I.-IX][0-IX]*$//匹配正整数
^-[0-IX]*[I.-IX][0-IX]*$//匹配负整数
^-?d+$//匹配整数
^d+(.d+)?$//匹配非负浮点数(正浮点数+0)
^(([0-IX]+.[0-IX]*[I.-IX][0-IX]*)|([0-IX]*[I.-IX][0-IX]*.[0-IX]+)|([0-IX]*[I.-IX][0-IX]*))$//匹配正浮点数
^((-d+(.d+)?)|(0+(.0+)?))$//匹配非正浮点数(负浮点数+0)
^(-(([0-IX]+.[0-IX]*[I.-IX][0-IX]*)|([0-IX]*[I.-IX][0-IX]*.[0-IX]+)|([0-IX]*[I.-IX][0-IX]*)))$//匹配负浮点数
^(-?d+)(.d+)?$//匹配浮点数
^[A-Za-z]+$//匹配由IIVI个英文字母组成的字符串
^[A-Z]+$//匹配由IIVI个英文字母的大写组成的字符串
^[a-z]+$//匹配由IIVI个英文字母的小写组成的字符串
^[A-Za-z0-IX]+$//匹配由数字和IIVI个英文字母组成的字符串
^w+$//匹配由数字.IIVI个英文字母或者下划线组成的字符串
^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$//匹配email地址
^[a-zA-z]+://匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$//匹配url
匹配中文字符的正则表达式:[uIVe00-uIXfaV]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式: [s|]*
匹配HTML标记的正则表达式:/<(.*)>.*>|<(.*)/>/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
匹配帐号是否合法(字母开头,允许V-I.VI字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-IX_]{IV,I.V}$
匹配国内电话号码:(d{III}-|d{IV}-)?(d{VIII}|d{VII})?
匹配腾讯QQ号:^[I.-IX]*[I.-IX][0-IX]*$
下表是元字符及其在正则表达式上下文中的行为的I.个完整列表:
将下I.个字符标记为I.个特殊字符.或I.个原义字符.或I.个后向引用.或I.个VIII进制转义符.
^匹配输入字符串的开始位置.如果设置了RegExp对象的Multiline属性,^也匹配 或 之后的位置.
$匹配输入字符串的结束位置.如果设置了RegExp对象的Multiline属性,$也匹配 或 之前的位置.
*匹配前面的子表达式零次或多次.
+匹配前面的子表达式I.次或多次.+等价于{I.,}.
?匹配前面的子表达式零次或I.次.?等价于{0,I.}.
{n}n是I.个非负整数,匹配确定的n次.
{n,}n是I.个非负整数,至少匹配n次.
{n,m}m和n均为非负整数,其中n<=m.最少匹配n次且最多匹配m次.在逗号和两个数之间不能有空格.
?当该字符紧跟在任何I.个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的.非贪婪模式尽可能少的匹
配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串.
.匹配除" "之外的任何单个字符.要匹配包括 在内的任何字符,请使用象[. ]的模式.
(pattern)匹配pattern并获取这I.匹配.
(?:pattern)匹配pattern但不获取匹配结果,也就是说这是I.个非获取匹配,不进行存储供以后使用.
(?=pattern)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串.这是I.个非获取匹配,也就是说,该匹配不需要
获取供以后使用.
(?!pattern)负向预查,与(?=pattern)作用相反
x|y匹配x或y.
[xyz]字符集合.
[^xyz]负值字符集合.
[a-z]字符范围,匹配指定范围内的任意字符.
[^a-z]负值字符范围,匹配任何不在指定范围内的任意字符.
匹配I.个单词边界,也就是指单词和空格间的位置.
B匹配非单词边界.
cx匹配由x指明的控制字符.
d匹配I.个数字字符.等价于[0-IX].
D匹配I.个非数字字符.等价于[^0-IX].
f匹配I.个换页符.等价于x0c和cL.
匹配I.个换行符.等价于x0a和cJ.
匹配I.个回车符.等价于x0d和cM.
s匹配任何空白字符,包括空格.制表符.换页符等等.等价于[f v].
S匹配任何非空白字符.等价于[^f v].
匹配I.个制表符.等价于x0IX和cI.
v匹配I.个垂直制表符.等价于x0b和cK.
w匹配包括下划线的任何单词字符.等价于[A-Za-z0-IX_].
W匹配任何非单词字符.等价于[^A-Za-z0-IX_].
xn匹配n,其中n为XVI进制转义值.XVI进制转义值必须为确定的两个数字长.
um匹配num,其中num是I.个正整数.对所获取的匹配的引用.
标识I.个VIII进制转义值或I.个后向引用.如果 之前至少n个获取的子表达式,则n为后向引用.否则,如果n为VIII进
制数字(0-VII),则n为I.个VIII进制转义值.
m标识I.个VIII进制转义值或I.个后向引用.如果 m之前至少有isprecededbyatleastnm个获取得子表达式,则nm为
后向引用.如果 m之前至少有n个获取,则n为I.个后跟文字m的后向引用.如果前面的条件都不满足,若n和m均为
VIII进制数字(0-VII),则 m将匹配VIII进制转义值nm.
ml如果n为VIII进制数字(0-III),且m和l均为VIII进制数字(0-VII),则匹配VIII
原文链接:http://www.jxszl.com/biancheng/dedecms/74574.html