朝SO。文字列に特定の文字のリストが含まれているかどうかを判断しようとしています。
これにはpreg_matchを使用する必要があることはわかっていますが、正規表現の知識が乏しく、このサイトの他の投稿から情報を収集することができませんでした。それらのほとんどは、文字列をaz、AZ、および0-9に制限したいだけなので. ただし、次のような特殊文字を許可したいのです! @ £
が、以下の文字列にないものもあります。
照合する文字:# $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~
private function containsIllegalChars($string)
{
return preg_match([REGEX_STRING_HERE], $string);
}
私は元々 Javascript でマッチングを作成しました。これは、文字列内の各文字をループし、一致する文字列が見つかるまで別の文字列内のすべての文字をループするだけでした。振り返ってみると、そのような古風な方法を使おうとしたことさえ信じられません。json の出現 (およびアプリケーションの書き直し) により、json を介してエラー メッセージを返すために、マッチを php に切り替えています。
正規表現の第一人者が上記の文字列を正規表現文字列に変換するのを手伝ってくれることを望んでいましたが、フィードバックをいただければ幸いです。