php - Zend_Validator_Regex 抛出错误 : Internal error while using the pattern

标签 php regex zend-framework zend-validate

Message: Internal error while using the pattern "(http://)?(www.)?(youtu)((be.com)|(.be))/.*"

$element = new Zend_Form_Element_Text($this->name);
$element->setRequired(true)
        ->setLabel(FileTypes::$names[$this->fileType])
        ->setDescription('Paste YouTube link here')
        ->setDecorators(FormDecorators::$simpleElementDecorators)
        ->addValidator('regex', false, '(http://)?(www\.)?(youtu)((be\.com)|(\.be))/.*');

即使使用简单的正则表达式也会抛出错误。

最佳答案

您是否已验证您的正则表达式是否正确?在正则表达式工具中尝试一下,看看它是否会产生任何错误。一个体面的工具应该告诉你为什么你的正则表达式是错误的,如果它是无效的。

我见过的大多数正则表达式通常都以某种字符结尾,通常是“/”。你的不是这个事实可能与你得到的错误有关。

您还应该记住,虽然 PHP 的正则表达式与 Perl 相似,但还是有一些不同之处。在这种情况下,它们可能无关紧要,但您仍然应该了解它们。 http://www.php.net/manual/en/reference.pcre.pattern.differences.php

关于php - Zend_Validator_Regex 抛出错误 : Internal error while using the pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11465822/

相关文章:

php - 工作示例 Zend_Rest_Controller 与 Zend_Rest_Client?

php - 如何在 zendFramework 中的数组上应用 Zend_Filter_StripTags?

php - 如何在 Javascript 中访问 PHP 方法?

java - 从字符串中提取电话号码

javascript - 在javascript函数中添加php session 数据

java - 如何使用捕获组作为正则表达式中的表达式的开头?

php - 去掉字符串末尾的破折号或任何特殊字符

zend-framework - 如何获取 SQLite 内存数据库的二进制转储

php - mysql查询从两个表中选择不同的值以及两个表中总和值的计数

php - 显示从休假日期开始的日期以及从和结束日期