当前位置:Gxlcms > PHP教程 > 求正则高手,这样的替换能实现吗?

求正则高手,这样的替换能实现吗?

时间:2021-07-01 10:21:17 帮助过:6人阅读

现有sql语句如下:
insert into test(A,B)values('$A','$B')
update test set A='$A' where B='$B'
因为多语言的问题,现在需要将sql语句替换成如下:
insert into test(A,B)values(N'$A',N'$B')
update test set A=N'$A' where B=N'$B'

请问用文本编辑器(phpDesigner 8,Notepad++,EditPlus)里的正则替换能够实现批量替换吗?
因为文件实在是太多了,真心改不起
求大神帮忙





回复讨论(解决方案)

你改下字段类型不就行了吗?
NVARCHAR 改为 VARCHAR

php 的正则替换
$txt = preg_replace("/'\$\w/", 'N$0', $txt);

现有sql语句如下:
insert into test(A,B)values('$A','$B')
update test set A='$A' where B='$B'
因为多语言的问题,现在需要将sql语句替换成如下:
insert into test(A,B)values(N'$A',N'$B')
update test set A=N'$A' where B=N'$B'

请问用文本编辑器(phpDesigner 8,Notepad++,EditPlus)里的正则替换能够实现批量替换吗?
因为文件实在是太多了,真心改不起
求大神帮忙



嗯,之前本来是varchar的,但是后来因为德语的关系,如果是varchar的话,数据库内存储就会变成?了,所以才修改了数据库类型为nvarchar,但是这样的话sql里就必须得加N才能没问题,所以才想找某种方式批量正则替换一下代码

你改下字段类型不就行了吗?
NVARCHAR 改为 VARCHAR

php 的正则替换
$txt = preg_replace("/'\$\w/", 'N$0', $txt);


嗯,之前本来是varchar的,但是后来因为德语的关系,如果是varchar的话,数据库内存储就会变成?了,所以才修改了数据库类型为nvarchar,但是这样的话sql里就必须得加N才能没问题,所以才想找某种方式批量正则替换一下代码

自己解决了,结贴了

人气教程排行