我不赞成定期表达,因此我甚至不知道这样做是什么,确切地说:
echo preg_match( /^(([a-zA-Z0-9x2d]{1,63}x2e)*[a-zA-Z0-9x2d]{1,63}){1,254}$/ , example12345678.com> );
我从泽德框架的旧版本(1.5)来看,该框架已经过时,在框架的最后稳定版本中,这一框架不再提出。 然而,它的行为是好奇的,因为我没有发现任何文件上的解释,也没有发现在官方的营地资源中存在一个落后的不兼容说明。
事情是,在php5.2.*上,它做的是罚款:收益。 0. On php 5.3.10, 5.4.0 (很可能会 5.3. , 5.4. 我先说的是,它归还了FALSE,即“错误”。
我的问题是:为什么? 错误是什么? 它是reg、某种重新入侵或规则含糊不清吗? 如果是的话,它为什么在php5.2上工作?
有趣的是,如果我改变榜样12345678.com>例如1234567.com> (使其缩短一个或一个以上果园)——它就开始工作和返回。 页: 1 它还运作,返回1。
<>UPD:t. 尚未知道这一事项,但此处的pcre版本是8.02 (php 5.2) 诉8.12 (php 5.3)
www.un.org/Depts/DGACM/index_spanish.htm 我确实理解它会给......带来多少好处,现在没有任何问题要让任何事情发挥作用。 正如我说过的那样,更新的Zend_Validate_* 解决了这一问题。 我试图描述我的关切,即:
也就是说,我提升了一个重要软件,使Sphp5.2 > php5.3转换。 我试图找到关于我可能面临的所有问题的信息(主要通过阅读:)。 该软件是旧的,但不是古老的,例如。 泽德框架可采用1.5版本。 我检查/派遣/分析并固定每个断肢和假肢。 甚至我的单位测试也会受到罚款。
To my surprise what is described in the question happens. (To be precise, Zend_Validate_Hostname there throws an exception). So now I want to know why I missed this one when upgrading and, what s more important, whether I should recheck all preg_match (and other PCRE utilizing functions) in the app trying various imaginable input data in attempt to find similar "bug fixes".
If it is a "bug fix". Because it looks like a new bug - it used to work as expected in php5.2 and doesn t work anymore.
希望获得一些杂货,以缩小搜寻范围。