[英]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.