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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...