-5

こんにちは、SQL インジェクションやその他のハッキングを防ぐために文字列を解析しようとしています。mysql_real_escape_string やその他のフィルターを使用したくありません。正規表現を使用して、文字 AZ 0-9 !@#$-_ を使用したいだけです

つまり、次のような正規表現を使用できます。

$newStr = preg_replace('/[^a-z0-9]/i', '_', $str);

しかし、私は安全になりたいだけで、正規表現があまり得意ではありません。もう一度ありがとう、あなたは本当に素晴らしいです。

4

1 に答える 1

0

これ:

$newStr = preg_replace('/[^a-z0-9]/i', '_', $str);

次のようにする必要があります。

$newStr = preg_replace('/[^a-zA-Z0-9!@#$-]/', '_', $str);

以下のコードは削除する必要があります。

「/\;?」

<?php
        $newStr = preg_replace('/[^a-zA-Z0-9!@#$-]/', '_', "test\'\"\/\\\;\?");
        echo $newStr;
?>

生成するもの:

test__________%
于 2013-03-22T22:16:30.060 に答える