2012-02-15 5 views
0

私はブラウザに渡す必要のあるこのURLを持っており、それをエンコードしたいと思います。しかし、私もURL文字列に変換され、問題を引き起こす数を持っています。PHPはhtmlspecialcharsがURLの数字を変換するのを防ぎます

ここは私の文字列です。

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

と私ははhtmlspecialcharsを使用する場合、それは間違っている両方132 100に変換します。それを防ぐ方法は?

更新:おそらく私はtimthumbスクリプトを使用しているため、私の文字列がそうであると言及する必要があります。

また、何かをエンコードする必要があるかどうかもわかりません。または私が安全に提供したURLですか?

+0

私はそれがあなたにどう起こっているのかわかりません。どのようにコードを表示しましたか? – Ibu

答えて

3

私が間違っている場合は私を許しますが、代わりにurlencodeを使用すべきではありませんか?

urlencode()PHP.net reference

+0

urlencodeを使用しているhmmmはさらに悪く、私の文字列を完全に破壊しました... –

+2

あなたは反対側でurldecode() –

2

htmlspecialcharsが数字に影響を与えることはありません...私はあなたがそれを得るためにやっていることはわかりません...

とにかく、ただ唯一の5つの文字を変換しurlencode()

0

htmlspecialchars()を通してそれを渡します:

'&' (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;' 

数値、文字またはその他の記号には触れません。

関連する問題