一尘不染

如何使用PHP检查另一个字符串中是否包含单词?

php

伪代码

text = "I go to school";
word = "to"
if ( word.exist(text) ) {
    return true ;
else {
    return false ;
}

我正在寻找一个PHP函数,如果单词在文本中存在,该函数将返回true。


阅读 233

收藏
2020-05-26

共1个答案

一尘不染

您可以根据需要选择几种方法。对于这个简单的示例,strpos()可能是最简单,最直接的函数。如果您需要对结果进行处理,则可以选择strstr()preg_match()。如果您需要使用复杂的图案而不是字符串作为针,您将需要preg_match()

$needle = "to";
$haystack = "I go to school";

strpos()和stripos()方法(stripos()不区分大小写):

if (strpos($haystack, $needle) !== false) echo "Found!";

strstr()和stristr()方法(stristr不区分大小写):

if (strstr($haystack, $needle)) echo "Found!";

preg_match方法(正则表达式,更灵活,但运行更慢):

if (preg_match("/to/", $haystack)) echo "Found!";

因为您要求一个完整的功能,所以这是将它们组合在一起的方式(带有needle和haystack的默认值):

function match_my_string($needle = 'to', $haystack = 'I go to school') {
  if (strpos($haystack, $needle) !== false) return true;
  else return false;
}
2020-05-26