gpt4 book ai didi

php - 网址特定编码

转载 作者:可可西里 更新时间:2023-10-31 23:41:04 27 4
gpt4 key购买 nike

我尝试重新创建一个 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 编码功能”.. 只需要重新创建没有自定义替换功能的示例。

编辑3
好的,我做了更多的调试,这是替换表的大部分内容:

% - %25
^ - %5E
+ - %2B
{ - %7B
[ - %5B
} - %7D
] - %5D
"- %22
| - %7C
\- %5C
< - %3C
- %3E
""- %20

可能是对 SQL 的某种转义,字符串稍后会转换为查询。

最佳答案

您正在寻找 JavaScript 的 PHP 实现 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

关于php - 网址特定编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com