PHP preg_match 错误

标签 php preg-match

我一直在努力寻找这个错误的来源。将不胜感激解决此错误的任何帮助。

错误:

Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 9 in /home/internet/public_html/z-insert/functions/dns.php on line 526

代码:-第 526 行是第 4 个 preg_match

if (preg_match('/127\.[0-9]+\.[0-9]+\.[0-9]+/',$mx_ip[$i]) || 
preg_match('/10\.[0-9]+\.[0-9]+\.[0-9]+/',$mx_ip[$i]) ||
preg_match('/192\.168\.[0-9]+\.[0-9]+/',$mx_ip[$i]) ||
preg_match('/172\.[16-31]+\.[0-9]+\.[0-9]+/',$mx_ip[$i])){

最佳答案

[] 包含一个字符类,它没有顺序。为方便起见,您可以在字符类中创建范围,但语法必须正确。您不能使用 6-3 范围。你需要做这样的事情:

(?:1[6-9]|2[0-9]|30|31)

我也不确定 + 是否是故意的,但我猜不是。

关于PHP preg_match 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12831629/

相关文章:

php - Preg_match,如果 <code></code> 格式正确

php - 在 php 中使用 preg_match 验证密码

php - 如何编辑此 MySQL 查询以包含带有计数和平均值的额外列?

php - 在 php 中用数组更新 Mysql Row

php - 如何从js代码中获取字符串值

php - 可选的空格正则表达式

php - 正则表达式查找不以点开头和结尾,只允许一些特殊字符不是全部

php - 使用 MySQL 过滤数字

php - jQuery 表单插件,如何只提交可见字段

php - 从 paypal 中取消订阅会收到什么样的 ipn 响应?