如何在PHP中检查一个字符串是否包含一个特定的词?(附教程)

125 阅读1分钟

在本教程中,你会发现各种检查子串、字符串或其他字符串中存在的特殊字符的技术。

为了确定一个字符串是否包含一个确切的特定单词,我们可以使用一个简单的PHP函数,叫做strpos()

语法

strpos(

第一个参数是指整个字符串,第二个参数find是指该特定单词的第一次出现,最后一个参数start是一个可选参数。所以下面是PHP的例子。

<?php
	$main_string = 'you are welcome';
	$search_string = 'are';

	if (strpos($main_string, $search_string) !== false) {
    		echo "matched";
	}

?>

但是请记住,由于PHP的strpos()返回搜索字符串的偏移量,或者在没有出现的情况下返回false,!=false或者**===true都不会起作用。所以我们需要使用!== false。

但是,如果主字符串包含 "area"、"hare",那么它将不会起作用。因为 "are "存在于**"**area "这个词中。所以我们需要使用PHP正则表达式来解决这个问题。下面是一个正则表达式的例子,你可以通过它来检查一个字符串是否包含一个特定的词。

function isWordPresent($main_string, $search_string)
{
    	if (preg_match('/\b'.$search_string.'\b/', $main_string)) {
    		return true;
	}else{
		return false;
	}
}

但是preg_match比strpos()慢了3倍。