Preg replace - PHP与preg_match等价,但不需要regex


preg replace - php what is the equivalent of preg_match but does not require regex?

在PHP中是否存在不需要使用正则表达式的等效preg_match ?preg_replace对应str_replace()。有适合preg_match的东西吗?

*update *我只想用另一个字符串替换已知字符串。使用正则表达式似乎有点多余。

我有字符串"这是一个[test1],而不是一个[test2]",我想匹配他们与"[test1]"answers"[test2]"。

如果您的意思是在另一个字符串中查找字符串而不使用regex,您可以使用strpos

if (strpos('hello today', 'hello') !== false) {
    // string found
}

因为我不确定你在寻找什么结果,我不能说这是否是你正在寻找的。

您可以使用strpos来查看一个字符串是否出现在另一个字符串中

回答你的问题有一些PHP函数没有正则表达式

不要使用preg_match()想要检查一个字符串是否包含在另一个字符串中。使用Strpos()或strstr()代替它们会更快。

但它们根本不能完全取代preg_match

首先,str_replace() 不是preg_replace()的替代品。函数str_replace()用替换字符串替换所有出现的搜索字符串,preg_replace()替换由正则表达式选择的内容(这不是一回事)。

很多东西都需要regex(这很好),所以你不能简单地用一个PHP函数代替它。

大多数开发人员使用preg_match是因为他们想要使用匹配(函数将设置的第三个参数)。

我想不出一个函数会返回或设置与match相同的信息。

但是,如果您使用preg_match而不使用regex,那么您可能不太关心匹配。

如果您使用preg_match查看是否存在"匹配",那么我建议使用strpos代替,因为它在查看一个字符串是否在另一个字符串中找到时更有效。