我尝试重新创建URL,但是找不到编码功能
编辑:
背景:字符串是用于API(没有课程的文档),我试图使用rawurlencode,但似乎只有原始的编码/解码功能,所以我必须找到它是什么...
$input = "2/3*( ((word*888) )>(word2 AND ((word3*888))/word4>888";
$encoded = "2/3*(%20((word*888)%20)%3E(word2%20AND%20((word3*888))/word4%3E2888";
尝试使用urlendode,rawurlencode,但它们替换了方括号和“ *”。
该字符串是为PHP(可能是Javascript)中的URL创建的。
编辑
base64_encode-销毁字符串..
htmlentities-未进行更改..
不寻找“最佳URL编码功能” ..只需要重新创建示例,而无需自定义替换功能。
Edit3
好了,我做了一些更多的调试,这是大多数替换表的原因:
%-%25
^-%5E
+-%2B
{-%7B
[-%5B
}-%7D
]-%5D
“-%22
|-%7C
\-%5C
<-%3C-
>
%3E
”“- %20
可能是SQL的某种转义,字符串后来被转换为查询。
您正在寻找一个PHP的JavaScript实现的是encodeURI()函数。开始了:
function encodeURI($uri)
{
return preg_replace_callback("{[^0-9a-z_.!~*'();,/?:@&=+$#]}i", function ($m) {
return sprintf('%%%02X', ord($m[0]));
}, $uri);
}
现在,您已经拥有了想要的东西。
演示:https : //eval.in/65314
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句