如何判断 preg_replace() 是不匹配还是从一开始就匹配?

发布于 2024-07-23 07:29:07 字数 55 浏览 6 评论 0原文

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

不使用第三个参数可以完成吗?

Both conditions returns false, how can you distinguish them?

Can it be done without using the third parameter?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

2024-07-30 07:29:07

您可能正在谈论 strpos 如果它不匹配任何内容,则返回 false;如果“needle”匹配,则返回 0 “干草堆”的最开始。 这些都是“错误”值,因此您需要使用三重等于运算符显式检查它们:

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

You may be talking about strpos which returns false if it doesn't match anything or 0 if the 'needle' matches the very start of the 'haystack'. These are both 'falsey' values, so you need to explicitly check them with a triple equals operator:

if (strpos($haystack, $needle) === false) {
    // $needle NOT found in $haystack.
} else {
    // $needle was found in $haystack.
}
随心而道 2024-07-30 07:29:07

preg_replace 可以有多个引用,因此如果您首先引用类似 /^(.){min,max} 的内容,其中 min/max 是您尝试匹配的最小/最大字符数一开始,该匹配将是 \\1 ,下一组括号将是 \\2 ,依此类推。

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

preg_replace can have multiple references, so if you made you first reference something like /^(.){min,max} where min/max is your minimum/maxium number of characters you're trying to match in the beginning, that match would be \\1 and the next set of parens would be \\2 and so on.

Without more information, its hard to tell if this or other solutions will work.

蓝颜夕 2024-07-30 07:29:07

也许您可以在此处放置一些示例代码,但您可以查看第五个参数:$count,它是完成的替换数量。

Perhaps you can put some sample code here, but you can look into the fifth argument: $count, which is the number of replacements done.

傲性难收 2024-07-30 07:29:07

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

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

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

Create a temp var containing search string.

After replace check if new string == temp var.

If equivalent return false else return true.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文