我有一个通过表单提交生成的URL和传递的变量。我不会详细说明,但URL中的“+”会破坏系统,所以我想用'%2B'替换它。
然而,到目前为止我尝试的每种方法都没有奏效。我已经尝试了各种PHP URL解码方法,但它们都不起作用,因为它们会替换URL中的其他字符,这会再次破坏它。
网址如下所示:
www.domain.com/catalog/search.php?sort_by=relevance&some_filter%5B%5D=filter+term
我还尝试获取当前页面网址并使用str_ireplace将“+”字符替换为常规空格或“%2B”,但都无济于事。
我将不胜感激任何帮助!
感谢
答案 0 :(得分:1)
如果您使用的是php,请尝试使用urlencode()和urldecode()
http://www.php.net/manual/en/function.urlencode.php
它将为您省去更换字符(然后更换)的麻烦。
这是一个更接近您的用例的完整示例。
<?php
$foo = str_replace('+','%2B', 'www.domain.com/catalog/search.php?sort_by=relevance&some_filter%5B%5D=filter+term');
echo urldecode($foo);