我想知道您会采取哪些其他方法在 PHP 中进行一些简单的字符串拆分。我收到来自 SMS 网关的响应,其中两个有趣的值是使用的代码和用户的文本消息。
代码可能类似于:(Freetrip
小写、大写、混合大小写)
在最好的情况下,用户消息应该是例如:Freetrip 12345
($code "space" XXXXX)。
每个 X 应该是 1 到 5 之间的数字。任何其他值/字符都应该返回错误。所以正则表达式将被简化为:chars=5 其中每个数字 >=1 和 <=5。
我最后需要存储的是 5 位数字中的每一个。
我最简单的方法是将整个消息字符串小写并从消息字符串中减去同样小写的代码(加上空格)。这将给我留下 5 个数字,然后我将其拆分为 5 个唯一变量以存储在数据库中。
现在棘手的部分是上述最佳情况可能难以实现。打字短信很繁琐,而且很容易出现打字错误。可能出现的一些错误如下:
- 数字太少或太多。
- 非数字字符。
- XXXXX 组合后的更多字符。
- 可能还有一些其他情况。
其中任何一个都应该返回一个单独的错误消息,我可以将其返回给发件人。