0

ユーザー入力を有効にしたいので、正規表現を使用しています。ユーザーに英数字のコンテンツと特定の文字のみを挿入してもらいたい - ,!$^& など.これまでのところ、私が持っているコードは次のとおりです:

$validText = preg_replace('@[^A-Za-z0-9\w\ ]@', '',$text);

しかし、英数字とスペースだけを気にしますが、文字を .'!@# などとして参照する正規表現を定義するにはどうすればよいですか? どこで定義しますか? ところで、良い正規表現を教えてください。

任意の提案

4

1 に答える 1

4

グループに追加するだけです。

$validText = preg_replace('/[^A-Za-z0-9\w .\'!@#]/', '',$text);

注: preg_match()この場合は の方が適している可能性があります。現在、無効な文字を許可してから削除しています。ユーザーエクスペリエンスが低下します。

于 2012-08-15T21:20:21.727 に答える