特定于网址的编码

雷夫

我尝试重新创建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";

尝试使用urlendoderawurlencode,但它们替换了方括号和“ *”。

该字符串是为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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章