"逗号"和urlencoding PHP

时间:2016-01-27 20:58:45

标签: php url urlencode

在我的网站上,用户可以在名为"描述"的字段中输入文本。我可以通过执行查询获得输入的任何文本,并将其作为$description返回。我最终希望使用此信息来构建URL。如果用户输入","我遇到了问题。在部分文本中。例如,我们假设用户输入了"test description, test description"

$description将返回:"test%20description,%20test%20description"

运行urlencode($description)会导致:"test+description%2C+test+description"

这适用于"test+description"部分,但不适用于%2C。最终我要问的是,我怎样才能返回:"test+description,+test+description"

1 个答案:

答案 0 :(得分:3)

好吧,urlencode将逗号字符编码为十六进制表示法中的%2C,这是您无法更改的内容: http://www.obkb.com/dcljr/charstxt.html

如果你不想编码,我猜你应该编码所有逗号除外:

str_replace('%2C', ',', urlencode($description));