2

我在使用 perl 时遇到了空格问题。我从数据库中获取信息并将它们用于查询字符串,但如果有空格,我将无法验证我的页面。

<a href="fish.cgi?fish=White Shark">White Shark</a>

有什么我可以做的吗?

4

2 回答 2

4

将您的 URL 转换为URI对象,它将为您处理所有转义和规范化。它们也可以用作字符串。

use URI;

# Prints fish.cgi?fish=White%20Shark
print URI->new("fish.cgi?fish=White Shark");

我会推荐这个而不是单独转义 URI。一旦你有了一个 URI 对象,你就知道使用它是安全的。

于 2013-05-11T16:58:47.950 回答
2

您可以将链接中的空格替换为空格%20的 URL 编码版本。您可能需要在发布后再次删除它,不太确定。

示例:www.google.ca/this site将被编码为www.google.ca/this%20site

所以你的版本是fish.cgi?fish=White%20Shark,这应该正确发布。

于 2013-05-11T14:52:58.303 回答