%記号に対してフィルタリングしようとしているPHP文字列内のクエリがあります。 すべてがutf-8です。 文字列に%(たとえば%acheron)が含まれている場合、それは同等のエンティティに変換されます(文字列の%acシーケンスによって解釈される 'not'記号文字になります)。 私はこの文字の入って来る文字列をきれいにすることができるようです/ PHPの文字列をきれいにすることはできません。PHPクリーンな着信文字列(%記号)
私が知ることができる唯一の方法は、rawurlencodeを使用してそれをきれいにすることでしたが、それは駄目な解決策であり、私にとっては他の文字に問題を引き起こすようです。
残りの文字列に影響を与えずにこれらの文字を消去するより効率的な方法はありますか?例えば、私は文字列から%&#(と他のもの)を取り除くが、そうでなければそれをそのまま残す関数を探している。 (preg_replaceが私のために働いていない)
言い換えれば、文字列を受け入れる方法はありますか?
EDIT:GET経由でクエリが入力されていますが、そのことは明確ではありません。 EDIT2:urlecodeまたはrawurlエンコード: %acheronが%ACheronに変換されていますが、それは ^ acheronが%5Eacheronに変換されています(したがって、パターンを使用してクリーニングすることはほとんど不可能です)...
私の質問のnoobishness おかげ ラリー
の配列? –
私はそれをrawurlencodeと似たようにしようとしましたが、どちらかを使用すると%ACheronとして戻ってきますが、入力が^ Acheronの場合は%5Eacheronに変換されます – Larry
どのブラウザを使って%フォーム提出中ですか? –