少数の文字のみを許可するために使用したいpreg_match
、より正確には、これらの文字のみを許可したい:a-z A-Z 0-9 . , ( ) @ # ! ?
preg_replace
テキストにこれらの文字を超える文字が含まれているかどうかを確認するには、どうすればよいですか?
少数の文字のみを許可するために使用したいpreg_match
、より正確には、これらの文字のみを許可したい:a-z A-Z 0-9 . , ( ) @ # ! ?
preg_replace
テキストにこれらの文字を超える文字が含まれているかどうかを確認するには、どうすればよいですか?
指定した文字以外のすべての文字を文字列から削除する場合は、次を使用できます。
$sanitized = preg_replace('/[^a-zA-Z0-9\.\,\(\)@#!?]/', '', $string);
文字列に無効な文字が含まれているかどうかをテストするには、次のようにします。
if ( preg_match('/[^a-zA-Z0-9.,()@#!?]/', $string) )
echo 'At least ONE invalid character found!';
あなたが何を望んでいるのかよくわかりませんが、使用できる正規表現を次に示します。
if ( preg_match('/^[^a-zA-Z0-9.,()@#!?]+$/', $string) )
echo 'All characters are invalid!';
if ( preg_match('/^[a-zA-Z0-9.,()@#!?]+$/', $string) )
echo 'All characters are valid!';