我正在尝试向API提交一些信息,但我收到的错误消息之一是:
字段必须仅包含:大写字母(A-Z),数字(0-9),完整 停止(。),正斜杠(/),短划线( - ),&符号(&)和空格
在PHP中使用正则表达式,是否可以编写规则来替换错误消息中指定的字符以外的任何字符?
我很喜欢正则表达式,但我敢打赌,对其他人来说这很容易!谢谢。
我显然可以将整个事情设置为strtoupper()所以我可以处理的第一点!
答案 0 :(得分:1)
最简单的方法是使用preg_replace
。
示例:$str = preg_replace('/[^A-Z\d.\/\-&]+/', '', $str);
说明:
- [^ A-Z \ d ./-& amp;] +匹配下面列表中不存在的单个字符
- 量词:+在一次和无限次之间,尽可能多次,根据需要回馈[贪心]
- A-Z A和Z之间范围内的单个字符(区分大小写)
- \ d匹配数字[0-9]
- 。字面意思。
- /匹配字符/字面
- - 匹配角色 - 字面意思
- &安培;列表中的单个字符&字面意思(区分大小写)