$m="-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707-261-385-519-698-707";
if(!preg_match("/^(\-\d+)*$/", $m))
{
exit('aa');
}
exit('bb');
$m是用"-"分隔的数字字符串,用来存储客户浏览历史的,数字是ID,长度不确定。
当$m的长度比较短的时候,没有任何问题。
当客户浏览历史增加, $m的长度大慨超过1K的时候,无法返回结果
用httpwatch看提示错误ERROR_INTERNET_CONNECTION_RESET其他的解决办法也有,不过想知道是什么原因造成的。
if(!preg_match("/^(\-\d+)*$/", $m))
{
exit('aa');
}
exit('bb');
$m是用"-"分隔的数字字符串,用来存储客户浏览历史的,数字是ID,长度不确定。
当$m的长度比较短的时候,没有任何问题。
当客户浏览历史增加, $m的长度大慨超过1K的时候,无法返回结果
用httpwatch看提示错误ERROR_INTERNET_CONNECTION_RESET其他的解决办法也有,不过想知道是什么原因造成的。
//or
if(!preg_match("/^(\-\d+)*+$/", $m))
//or
if(!preg_match("/^(\-\d++)*$/", $m))
随随便便就可以达到昨天一个朋友测试了用ereg的方式就没有问题
我想应该还是preg_match的问题这种字符串的验证应该很常见吧
想知道原理和preg的解决方案
$m在什么中取的也不重要,主要还是这个正则的问题
$m .= $m;
echo strlen($m);
if(!preg_match("/^(\-\d+)*$/", $m))
{
exit('aa');
}
exit('bb');没有发现任何问题
print_r($arr);还有奇怪的,看看这个结果,子模式只有一个
用explode后再来程序判断吧。
你的php什么版本,php5.2以上支持两个pcre设置,如果在php.ini发现以下两个配置,配置大点的值试试[Pcre]
;PCRE library backtracking limit.
; http://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000 ;PCRE library recursion limit.
;Please note that if you set this value to a high number you may consume all
;the available process stack and eventually crash PHP (due to reaching the
;stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000