php是什么相当于preg_match但不需要正则表达式?

时间:2011-04-28 16:58:50

标签: php preg-replace preg-match str-replace

在PHP中是否有等同于preg_match的不需要使用正则表达式? str_replace()preg_replace。是否有preg_match的内容。

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

我有字符串“这是[test1],而不是[test2]”,我希望将它们与“[test1]”和“[test2]”相匹配。

5 个答案:

答案 0 :(得分:4)

如果您的意思是在不使用正则表达式的情况下在另一个字符串中查找字符串,则可以使用strpos

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

答案 1 :(得分:1)

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

  

如果您只是使用preg_match()   想检查是否有一个字符串   包含在另一个字符串中使用   strpos()或strstr()代替它们   会更快。

但他们无法完全取代preg_match

答案 2 :(得分:0)

首先,对于str_replace()preg_replace() 不是替代。函数str_replace()用替换字符串替换所有出现的搜索字符串,preg_replace()替换正则表达式选择的内容(这不是同一个东西)。

很多东西需要正则表达式(这很好)所以你不能简单地用单个PHP函数替换它。

答案 3 :(得分:0)

由于我不确定您正在寻找什么结果,我不能说这是否正是您所寻找的。

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

答案 4 :(得分:0)

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

我无法想象将返回或设置相同信息的函数,就像匹配一样。

但是,如果您使用的是没有正则表达式的preg_match,那么您可能不太关心匹配。

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