PHP で単純な文字列分割を行うために、他にどのようなアプローチを採用するのだろうかと考えています。SMS ゲートウェイから応答を受信しています。2 つの興味深い値は、使用されたコードとユーザーのテキスト メッセージです。
コードは次のようになります: Freetrip
(小文字、大文字、大/小文字混合)
最良のシナリオでは、ユーザー メッセージは次のようになります: Freetrip 12345
($code "space" XXXXX)。
各 X は 1 から 5 までの数字である必要があります。その他の値/文字はエラーを返します。したがって、正規表現は次のように単純化されます。
最後に保存する必要があるのは、5 桁の値のそれぞれです。
私の最も簡単なアプローチは、メッセージ文字列全体を小文字にし、同じく小文字のコード (およびスペース) をメッセージ文字列から差し引くことです。これで 5 桁が残り、それを 5 つの一意の変数に分割して DB に格納します。
ここで注意が必要なのは、上記の最良のシナリオを実現するのは難しいかもしれないということです。SMS の入力は面倒で、入力エラーが発生しやすいです。発生する可能性のあるエラーは次のとおりです。
- 桁数が少なすぎるか多すぎます。
- 数字以外の文字。
- XXXXX の組み合わせの後に追加の文字。
- おそらく他のいくつかのケース。
それらのいずれも、送信者に返すことができる個別のエラー メッセージを返す必要があります。