如何解决sql urlencoding函数
有人可以帮助我将此ms sql函数重写为PHP作为preg_replace()吗? 这是一个urlencoding函数,但是我需要为迁移项目精确地重新创建它,并且不得不让自己了解正在执行的操作。
USE [botw]
GO
/****** Object: UserDefinedFunction [dbo].[UrlEncode] Script Date: 9/24/2020 12:38:25 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[UrlEncode](@str as varchar(4000))
returns varchar(4000)
as
begin
declare @hex char(16)
declare @c char(1)
set @hex='0123456789ABCDEF'
declare @ostr varchar(4000)
set @ostr=''
declare @l int
set @l = 1
while @l <= len(@str)
begin
set @c = substring(@str,@l,1)
if ascii(@c) between ascii('0') and ascii('9')
or ascii(@c) between ascii('A') and ascii('Z')
or ascii(@c) between ascii('a') and ascii('z')
or @c = '/'
set @ostr = @ostr + @c
else if @c = ' '
set @ostr = @ostr + '_'
else
set @ostr = @ostr + '%' +
substring(@hex,(ascii(@c)/16)+1,1)
+substring(@hex,(ascii(@c)&15)+1,1)
set @l=@l+1
end
return @ostr
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。