PHP阻止htmlspecialchars转换URL中的数字

时间:2012-02-15 22:34:44

标签: php htmlspecialchars

我有这个网址,我需要传递给浏览器,并希望对其进行编码。但是我在url字符串中有数字也会被转换,从而导致问题。

这是我的字符串。

"http://domain.com/?w=132&h=132&zc=1&q=90&a=c"

如果我使用htmlspecialchars,它会将132转换为100,这是错误的。如何防止?

更新:也许我应该提一下,我的字符串看起来像是因为我正在使用timthumb脚本。

另外,我甚至不确定是否需要编码?或者我提供的URL是否安全?

3 个答案:

答案 0 :(得分:3)

如果我错了,请原谅我,但你不应该使用urlencode吗?

urlencode()PHP.net reference

答案 1 :(得分:2)

htmlspecialchars不影响数字...我不知道你在做什么......

无论如何,只需通过urlencode()

答案 2 :(得分:0)

htmlspecialchars()仅转换5个字符:

'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
"'" (single quote) becomes ''' only when ENT_QUOTES is set.
'<' (less than) becomes '&lt;'
'>' (greater than) becomes '&gt;'

它不会触及数字,字母或其他符号。