IT技术网www.itjs.cn

当前位置:首页 > 数据库 > MySQL > 去掉参数内HTML代码的SQL函数

去掉参数内HTML代码的SQL函数

发布时间:2010-09-09 11:37 来源:未知

下面为您介绍的SQL函数用于去掉参数内HTML代码,需要给数据库访问者master.sp_OA系列存储过程的EXEC权限,该方法供您参考,希望对您学习SQL函数的使用能够有所帮助。

函数名称:ReplaceHTML

参数:@Textstr

作用:去掉 @Textstr 内的HTML代码

备注:需要给数据库访问者master.sp_OA系列存储过程的EXEC权限

请先用Convert函数保证@Textstr为varchar(5000)而不是ntext

Create FUNCTION [dbo].[ReplaceHTML] (

@Textstr varchar (5000)

)

RETURNS varchar(5000) AS

BEGIN

DECLARE @hr integer

DECLARE @objRegExp integer

DECLARE @sStr varchar(5000)

DECLARE @re integer

DECLARE @results varchar(5000)

EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT

IF @hr <> 0 BEGIN

RETURN '不能创建VBScript.RegExp对象'

END

EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', '<(.[^>]*)>'

IF @hr <> 0 BEGIN

RETURN 'Pattern对象错误'

END

EXEC @hr = sp_OASetProperty @objRegExp, 'Global', True

IF @hr <> 0 BEGIN

RETURN 'Global对象错误'

END

EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', True

IF @hr <> 0 BEGIN

RETURN 'IgnoreCase对象错误'

END

EXEC @hr = sp_OAMethod @objRegExp, 'Replace', @results OUTPUT, @Textstr,''

IF @hr <> 0 BEGIN

RETURN @Textstr

END

EXEC @hr = sp_OADestroy @objRegExp

IF @hr <> 0 BEGIN

RETURN '不能注销VBScript.RegExp对象'

END

-- Set @results = Replace(Replace(Replace(@results,'&nbsp;',''),' ',''),' ','')

-- RETURN @results

RETURN Replace(Replace(Replace(@results,'&nbsp;',''),' ',''),' ','')