"comma" 和 urlencoding PHP

"comma" and urlencoding PHP

在我的网站上,用户可以在名为 "Description" 的字段中输入文本。我可以通过执行查询并将其 return 转换为 $description 来获取输入的任何文本。我最终想利用这些信息构建一个URL。如果用户在部分文本中输入“,”,我会 运行 遇到问题。例如,假设用户输入了 "test description, test description"

$description 将 return 作为:"test%20description,%20test%20description"

运行 urlencode($description) 结果:"test+description%2C+test+description"

"test+description" 部分可以,但 %2C 部分不行。最终我要问的是,我怎样才能代替 return: "test+description,+test+description"

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

如果您不想对逗号进行编码,我想您应该对除逗号以外的所有逗号进行编码:

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