0

一部のユーザー入力をサニタイズする必要があり、すべての文字を削除する必要があります。入力が文字列または html コードであるため、Null Byte や役に立たないもの (\n や \t など) などの問題を引き起こす可能性があります。現時点では、これを使用してタブ、改行などを削除しています。

preg_replace('/\s+/','',$_POST['id'])

しかし、十分ではありません。私はこれを見つけました:

preg_replace( '/[^[:print:]]/',' ',$_POST['val'])

しかし、ドイツ語やアラビア語の文字、句読点、記号など、削除してはならない文字も削除するかどうかはわかりません

4

1 に答える 1

0

PHP 正規表現文字クラス によると、 「スペースを含む印刷文字[:print:]」が含まれています。

これは、「可視文字とスペース (つまり、制御文字など以外のもの)」を意味します ( http://www.regular-expressions.info/posixbrackets.htmlを参照) 。

  • アスキー文字:[\x20-\x7E]
  • ユニコード:\P{C}
于 2014-04-15T10:57:40.830 に答える