2016-08-12 3 views
-2

私はAPIにいくつかの情報を提出しようとしているが、エラーメッセージのいずれかが、私は戻って取得:正規表現は、これらの条件に対して書き込まれたルールを置き換えることはできますか?

フィールドのみが含まれている必要があります:フル大文字(AZ)、数字(0-9)、で指定されたもの以外の任意の文字を置き換え、アンパサンド(&)とPHPで正規表現を使用

は、ルールを記述することができスペース - 停止、スラッシュ(/)、ダッシュ(。)()エラーメッセージ?

私は正規表現を吸っていますが、これは誰かにとっては非常に簡単だと思います!ありがとうございました。

私は明らかにすべてをstrtoupper()に設定することができますので、最初のビットで処理できます!

+1

リスト&内の単一の文字が否定の文字を見てみましょうクラス。 –

+0

私は '[^ A-Z0-9 ./&-]'と思っています。 http://php.net/manual/en/function.preg-replace.php – chris85

+0

申し訳ありませんが、私は必要なコードの完全な行を提供できますか?私はpreg_match/str_replaceを使っていますか?どのように動作するか分からない。前もって感謝します! –

答えて

1

最も簡単な方法はpreg_replaceです。

例:$str = preg_replace('/[^A-Z\d.\/\-&]+/', '', $str);

説明:

  • [^ AZ \ D ./- &] +
    • 数量詞下記のリストに存在しない単一の文字にマッチ:+可能な限り1回から無制限まで、必要に応じて返す[貪欲]
    • AZ eとAの間の文字(大文字と小文字を区別する)
    • \ d [0-9]
    • と一致します。リテラル文字。
    • /文字/文字通り
    • 一致する - 文字にマッチします - 文字通り
    • &文字通り(大文字と小文字を区別)
関連する問題