******字符串的替换*********

dqk1985 2009-01-18 04:27:37
asdfd<dfad>asfasf<a>asdfasfsaf</a>asdfs<ffda>adfsaf
asdfasdf<a>adfasdfasf<b>asdfasf
asdfsadf<ff>afasdf<aad>asdfasdf
asdfasdf<dfda>asdfsadf<dfsf>asdfsaffff

大家仔细看下。我想去掉上面文本中的所有<>号中的东西。和<>也一起去掉。
...全文
84 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsh236 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fcuandy 的回复:]
SQL codedeclare @s varchar(1000)

set @s='asdfd <dfad>aaaaa <a>bbbbb </a>asdfs <ffda>adfsaf
asdfasdf <a>adfasdfasf <b>asdfasf
asdfsadf <ff>afasdf <aad>asdfasdf
asdfasdf <dfda>asdfsadf <dfsf>asdfsaffff'

while patindex('%<%>%',@s)>0
begin
set @s=stuff(@s,patindex('%<%',@s),patindex('%>%',@s)-patindex('%<%',@s)+1,'')
end

print @s

/*
asdfd aaaaa bbbbb asdfs adfsaf
asdfasdf adf…
[/Quote]
这个好像能解决呀!
dong1231 2009-01-19
  • 打赏
  • 举报
回复
ding
fcuandy 2009-01-18
  • 打赏
  • 举报
回复
declare @s varchar(1000)

set @s='asdfd <dfad>aaaaa <a>bbbbb </a>asdfs <ffda>adfsaf
asdfasdf <a>adfasdfasf <b>asdfasf
asdfsadf <ff>afasdf <aad>asdfasdf
asdfasdf <dfda>asdfsadf <dfsf>asdfsaffff'

while patindex('%<%>%',@s)>0
begin
set @s=stuff(@s,patindex('%<%',@s),patindex('%>%',@s)-patindex('%<%',@s)+1,'')
end

print @s

/*
asdfd aaaaa bbbbb asdfs adfsaf
asdfasdf adfasdfasf asdfasf
asdfsadf afasdf asdfasdf
asdfasdf asdfsadf asdfsaffff
*/
百年树人 2009-01-18
  • 打赏
  • 举报
回复
< 和 > 不是对称的很难搞
-狙击手- 2009-01-18
  • 打赏
  • 举报
回复
写个函数吧
nalnait 2009-01-18
  • 打赏
  • 举报
回复
stuff +多层
dawugui 2009-01-18
  • 打赏
  • 举报
回复
1.<dfad>
2.<a>
..

你把上面的字符串逐一替换成你的字符串即可.
dqk1985 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
数据库被注入攻击 所有文本型字下段数据都被加了 <script_src=http://ucmal.com/0.js> </script>
怎么删掉?


SQL code
DECLARE @fieldtype sysname
SET @fieldtype='varchar'

--删除处理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''<script_src=http://ucmal.com/0.js> </script>'','''')'

[/Quote]

你这个根本解决不了问题好不好
dqk1985 2009-01-18
  • 打赏
  • 举报
回复
d
dawugui 2009-01-18
  • 打赏
  • 举报
回复
数据库被注入攻击 所有文本型字下段数据都被加了 <script_src=http://ucmal.com/0.js> </script>
怎么删掉?


DECLARE @fieldtype sysname
SET @fieldtype='varchar'

--删除处理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''<script_src=http://ucmal.com/0.js> </script>'','''')'
FROM sysobjects o,syscolumns c,systypes t
WHERE o.id=c.id
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
AND c.xusertype=t.xusertype
AND t.name=@fieldtype
EXEC sp_MSforeach_Worker @command1=N'?'


22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧