2019-01-19 16:08:44 2184次浏览 2条回答 0 悬赏 17 金钱
return str_replace("*", "%2A", str_replace("+", "%20", urlencode($str)));

是它,是它,就是它,貌似过滤啥还是替换啥的,大佬明示

最佳答案

  • 刘师傅 发布于 2019-01-19 18:15 举报

    功能上就是替换,过滤。然后业务上不清楚

    1 条回复
    回复于 2019-01-19 19:57 回复

    谢谢大佬。打印出来是转换斜杠,和 & 连接符的
    斜杠转换 %2A& 转换 %20

  • 回答于 2019-01-20 19:06 举报

    由于历史原因,php 的 urlencode 函数会把空格编码成 + 而不是 %20,这一点与其它语言不同,也不符合一个什么 RFC 的规范,所以 这里做了一步替换。但其实 php 中另有一个 rawurlencode 函数,这个函数 与 urlencode 函数的唯一区别就是 它会把 空格 编码成 %20
    至于 * ,它肯定不会被包含在 urlencode 的返回结果中的,它一定会被编码成 %2A ,这里的替换是 多此一举。
    综上,以上代码 完全可以替换为:
    return rawurlencode($str);

    2 条回复
    回复于 2019-01-21 20:30 回复

    大佬说的这么胸有成竹,我反正是相信了,谢谢大佬百忙之中的回复

    回复于 2019-01-26 15:13 回复

    @朕的大清完了 楼上说的正确, 你可以试试rawurlencode这个

您需要登录后才可以回答。登录 | 立即注册
yzg91
主管

yzg91

注册时间:2018-11-15
最后登录:2022-05-10
在线时长:22小时13分
  • 粉丝2
  • 金钱479
  • 威望20
  • 积分899

热门问题