function urlencode()
{
local string="$1";
local strlen=${#string};
local encoded="";
for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9] ) o="${c}" ;;
* ) printf -v o '%%%02x' "'$c"
esac
encoded+="${o}";
done
echo "${encoded}";
}
以上是 C 语言的经过编码后的特殊符号内容是小写的, PHP 的 urlencode 编码后特殊字符串是大小的,那个变态的网站对特殊字符 url 地址大小写非常敏感。请大神帮忙转换一下。
1
iamfredng 2016 年 1 月 1 日
我反复看了下,总觉得这不是 C 语言。。。这是个 Bash 脚本吧。
|
2
iamfredng 2016 年 1 月 1 日
艹,真是个 Bash 脚本,难怪我脑内的 C 语言处理器无法解析这段代码。摔
|
4
liuhaotian 2016 年 1 月 1 日
@HanSonJ 这是一个 function 类型的函数😁
|
5
orvice 2016 年 1 月 1 日
还以为是自己 c 语言白学了。。
|
6
Kilerd 2016 年 1 月 1 日
又是伸手党!!表示毫无好感。
|
7
pynix 2016 年 1 月 1 日
伸手党
|
8
mikicomo 2016 年 1 月 1 日 block
|
9
gdtv 2016 年 1 月 1 日
php 就是从 C 语言来的,我学了 C 学了 PHP ,居然看不懂楼主的代码,这真的是 C 吗?我读书少,别骗我。
|
10
MrZephyrus 2016 年 1 月 2 日
@orvice + 1
|
11
leveraging 2016 年 1 月 2 日
大家不要这么深恶意,我来帮楼主翻译。
function php_urlencode($url) { return urlencode($url); } |
12
leveraging 2016 年 1 月 2 日
function php_urlencode($url) {
return strtolower(urlencode($url)); } |
13
EmarsXHY 2016 年 1 月 2 日
。。。有点无语,第一语言没搞清楚,第二请说人话=。=
|
14
580a388da131 2016 年 1 月 2 日
看起来都是挺基本的东西。
|
15
aprikyblue 2016 年 1 月 2 日
我 C 语言白学了
|
16
czheo 2016 年 1 月 2 日
我中文白学了
|
17
47jm9ozp 2016 年 1 月 2 日
我还以为是 c16 新标准哪来的那么多新用法……
|
18
Cynic222 2016 年 1 月 2 日 via iPhone
我还在想哪来的 esac...
|
19
wizardforcel 2016 年 1 月 2 日 via Android
你需要 strtolower()
|