PHP urlencode空格js解码后变成+号的解决办法

PHP与SEO 思享 143浏览

在某个函数中,为了避免字符串空格对命令行的影响,所以打算把字符串使用urlencode进行编码,然后在js中用decodeURI()进行解码。结果出处过程中发现空格变成了+号,而?号变成了%的字符串

解决办法

PHP使用rawurlencode()来进行编码即可~此函数遵循RFC 3986标准,空格会被转为%20同时,对于此函数转码的url,普通的urldecode是不能正确解码的,所以官方也提供了rawurldecode()函数来对转码后的结果解码再者,你也不需要担心版本兼容问题,因为它在PHP4就已经支持了~

以上来源于《PHP urlencode空格被转为+的问题

至于?号的问题,使用decodeURIComponent()进行解码

推荐阅读

百度自动推送php实现代码

我们知道主动推送有助于搜索引擎抓取和收录网站内容,wordpress或者主流CMS其实已经集成了推送功能。但是如果我们要定期归还,而不是只在发布的时候推一次。这个功能可以通过结合PHP和Pagoda Panel的预定任务来实现。$api = '百度站......

PHP报错Warning:file_get_contents():SSL operation failed with code 1

今天用在线界面验证百度真假蜘蛛,发现报道有误。错误提示显示SSL操作失败,代码为1。我在网上找到了解决方案,分享给大家参考。警告:file_get_contents():无法在/xxx/xxx.php的第31行启用加密。ip=220.181.108.......

PHP空间绑定多个域名搭建不同单页站点

这些限制只有一个根目录。如果你想建立不同的网站,你只能把二级目录。但如果是单页,可以用php绑定多个域名,让域名跳转到不同的单页,实现批量建站。如果使用表头跳转,URL也会跳转,而且require类似于导入模板,不会跳转。...