草庐IT

ignore_match

全部标签

php - preg_match 表现得很奇怪

我正在使用preg_match()从变量中提取文本片段,假设变量如下所示:[htmlcode]Thisissupposedtobedisplayed[/htmlcode]middletext[htmlcode]Thisisalsosupposedtobedisplayed[/htmlcode]我想提取[htmlcode]的内容并将它们输入到一个数组中。我通过使用preg_match()来做到这一点。preg_match('/\[htmlcode\]([^\"]*)\[\/htmlcode\]/ms',$text,$matches);foreach($matchesas$value){r

php - 不使用 preg_match() 在 PHP 中进行 UTF-8 验证

我需要验证一些以UTF-8编码的用户输入。许多人推荐使用以下代码:preg_match('/\A([\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})*\z/x',$string);这是一个取自http

PHP 日志不会忽略 ignore_repeated_errors = On 的重复错误

虽然我已经指示php只记录一次错误-我在我的日志文件中一遍又一遍地看到错误。任何想法为什么这个指令会被忽略?我已经重新启动了apache等。 最佳答案 此指令只会阻止错误再次被记录在同一脚本运行中。当同一个脚本多次运行时,您每次仍然会看到该错误。 关于PHP日志不会忽略ignore_repeated_errors=On的重复错误,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19

PHP - preg_match 和 "Unknown modifier"错误

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。我的测试运行良好:if(ereg("([0-9]{2})[-./]([0-9]{2})[-./]([0-9]{4})[]([0-9]{2}):([0-9]{2}):([0-9]{2})",$dateToTest,$tab)==false)由于ereg已被弃用,我用这个替换了那个测试:if(preg_match("/([0-9]{2})[-./]([0-9]{2})[-./]([0-9]{4})[]([0-9]{2}):([0-9]{2}):([0-9]{2})

php - preg_match 只允许字母、空格和破折号和空格

我知道如果$stringabc包含除数字以外的任何内容,我当前使用的一个条件是:if(preg_match("/[^0-9]/",$stringabc))我想要一个if条件,如果$stringdef包含除字母、空格和破折号(-)以外的任何内容,它会给出错误。 最佳答案 那就是:if(preg_match('/[^a-z\s-]/i',$stringabc))“除字母(a-z)、空格(\s,表示任何类型的空格)和破折号(-)之外的任何内容”。也允许数字:if(preg_match('/[^0-9a-z\s-]/i',$stringab

PHP Regex preg_match提取

尽管我对伪代码中的正则表达式有足够的了解,但是我仍然无法翻译我想在phpregexperl中执行的操作。我正在尝试使用preg_match提取表达式的一部分。我有以下字符串${classA.methodA.methodB(classB.methodC(classB.methodD)))},我需要做2件事:一种。验证语法${classA.methodA.methodB(classB.methodC(classB.methodD)))}有效${classA.methodA.methodB}有效${classA.methodA.methodB()}无效${methodB(methodC(cl

php - Preg_match_all 返回数组中的数组?

我试图从这个数组中获取信息,但出于某种原因,它将所有内容嵌套到$matches[0]中。这是否按预期工作?有没有办法将其放入深度为1的数组中?编辑:这是正则表达式:([A-Z][a-z]+\s){1,5}\s?[^a-zA-Z\d\s:,.\'\"]\s?[A-Za-z+\W]+\s[\d]{1,2}\s[A-Z][a-z]+\s[\d]{4} 最佳答案 preg_match_all()总是返回一个数组(如果成功,否则你会得到一个空数组),其中索引0包含一个数组,每个完整匹配都有一个元素,并且其他索引成为捕获组,每个匹配项都有一个内

php - 为什么 CodeSniffer 不排除 --ignore 指定的文件夹?

我正在使用Jenkins(Hudson)CI,每天晚上都使用多种报告工具分析代码,包括用于Checkstyle报告的Codesniffer。我不想让它忽略./framework/*目录,但它坚持包含它,不管我对--ignore的努力如何参数。报告已成功创建和解析,但对我们没有任何用处,因为框架中存在大量违反Pear编码标准的行为。Codesniffer是从我的Ant构建脚本中调用的,如下所示:我试过了--ignore=framework,--ignore=framework/,以及上面一行中的那个,都是我在网上找到的例子。我也尝试过为每个参数使用不同的行(using),但无济于事。有什

PHP: preg_match 长度限制

我使用preg_match('/[a-z]+[0-9]/',strtolower($_POST['value']))检查字符串是否同时包含字母和数字。我怎样才能改变它只允许5~15个字符?/[a-z]+[0-9]{5,15}/不起作用。更新现在我尝试了:if(preg_match('/^[a-z0-9]{5,15}$/',strtolower($_POST['value']))){echo'Valid!';}else{echo'NOOOOO!!!';}如果我在输入字段中键入“dfgdfgdfg”,它会显示“有效!”。该值必须同时包含字母和数字,并且介于5-15个字符之间。

php - preg_match() : No ending delimiter '^' found

这个问题在这里已经有了答案:PHPregularexpressions:Noendingdelimiter'^'foundin(2个答案)关闭9年前。警告:preg_match():在第29行的.../functions/validations.php中找不到结束分隔符“^”代码:if(preg_match($mail_pat,$email,$components)){我应该在什么地方进行编辑?