繁体   English   中英

这种编码是什么,如何在PHP中编码一个字符串?

[英]What is this encoding and how can I encode a string to it in PHP?

我有这样的输入:

$input = 'GFL/R&D/50/67289';

我正在努力做到这一点:

GFL$2fR$26D$2f50$2f67289

到目前为止,我最接近的是:

echo filter_var($input, FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_LOW)

产生:

GFL%2FR%26D%2F50%2F67289

如何从给定的输入到所需的输出,结果是哪种编码?

顺便说一句,请注意区分大小写。 需要$2f而不是$2F

这将达到目的:URL编码,然后小写编码的序列,并用preg回调交换%$ (PHP的PCRE不支持大小写转换修饰符):

$input = 'GFL/R&D/50/67289';
echo preg_replace_callback('/(%)([0-9A-F]{2})/', function ($m) {
    return '$' . strtolower($m[2]);
}, urlencode($input));

输出:

GFL$2fR$26D$2f50$2f67289

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM