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

伪码


text = "I go to school";

word = "to"

if ( word.exist(text) ) {

    return true ;

else {

    return false ;

}

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


红颜莎娜
浏览 552回答 3
3回答

叮当猫咪

您可以根据需要选择几种方法。对于这个简单的示例,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;}

慕侠2389804

function hasWord($word, $txt) {    $patt = "/(?:^|[^a-zA-Z])" . preg_quote($word, '/') . "(?:$|[^a-zA-Z])/i";    return preg_match($patt, $txt);}如果$ word为“ to”,则将匹配:“听我说”“到月球”“最新”但不是:“一起”“进入太空”

莫回无

另一种方法(除了已经给出的strpos示例之外,还可以使用'strstr'函数:if (strstr($haystack, $needle)) {   return true;} else {   return false;}
打开App,查看更多内容
随时随地看视频慕课网APP