你怎么知道preg_replace()是否与start不匹配或匹配?

时间:2009-06-04 01:39:03

标签: php regex preg-replace

两个条件都返回false,你如何区分它们?

可以在不使用第三个参数的情况下完成吗?

4 个答案:

答案 0 :(得分:0)

也许你可以在这里放一些示例代码,但是你可以查看第五个参数:$count,这是完成的替换次数。

答案 1 :(得分:0)

你可能在谈论strpos,如果它不匹配则返回false;如果'needle'匹配'haystack'的开头,则返回0。这些都是'falsey'值,因此您需要使用三等于运算符显式检查它们:

if (strpos($haystack, $needle) === false) {
    // $needle NOT found in $haystack.
} else {
    // $needle was found in $haystack.
}

答案 2 :(得分:0)

preg_replace可以有多个引用,所以如果你首先引用类似/^(.){min,max}的内容,其中min / max是你在开始时尝试匹配的最小/最大字符数,那么匹配将是\ \ 1和下一组parens将是\\ 2等等。

如果没有更多信息,很难判断这个或其他解决方案是否有效。

答案 3 :(得分:0)

创建包含搜索字符串的临时变量。

替换后检查是否有新字符串== temp var。

如果等效,则返回false,否则返回true。