php 字符串中是否包含指定字符串的多种方法

时间:2025-05-11 07:46:49

在大家编写PHP程序的时候,经常要处理字符串,最基本就是字符串的查找,在PHP检测字符串中是否包含指定字符串可以使用正则,当然如果你对正则并不了解,那么有以下几个函数可以为您提供方便。

1. strstr函数

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现,该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false

代码如下:

$email = 'user@';
$domain = strstr($email, '@');
echo $domain; // @

2. stristr函数

stristr() 函数查找字符串在另一个字符串中第一次出现的位置。
如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。
它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写

3. strpos函数

strpos函数返回布尔值falsetrue 不用多说,用 “===”进行判断。
strpos在执行速度上都比以上两个函数,另外strpos有一个参数指定判断的位置,但是默认为空,意思是判断整个字符串,缺点是对中文的支持不好。

代码如下:

	if(strpos('','jb51') !== false) { 
		echo '包含jb51'; 
	} else {
		echo '不包含jb51'; 
	}

代码如下:

	// 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False
	$str= 'abc';
	$needle= 'a';
	$pos = strpos($str, $needle); 

4. explode函数

代码如下:

function checkstr($str) {
	//判断是否包含a这个字符
	 $needle ='a';
	 $tmparray = explode($needle,$str);
	 if(count($tmparray) > 1) {
	 	return true;
	 } else {
	 	return false;
	 }
}

5. substr函数

判断最后一个字符是不是指定字符
代码如下:

$str1="<p>这是一段PHP代码,这段代码使用了substr函数</p>";
if(substr($str1,-6) == "函数</p>") {
	echo substr($str1,0,-4);
}

6. substr_count函数

统计 “子字符串” 在 “原始字符串” 中出现的次数。
代码如下:

$big_string = "这是一段字符串,这个字符串里包含很多的字";
$small_string = "字符";
$number = substr_count($big_string, $small_string);

但是在大多情况下,并不需要返回次数,而是truefasle,便有了以下代码:

function check_str($str, $substr)
{
 	$nums=substr_count($str,$substr);
 	if ($nums>=1)
 	{
  		return true;
  	} else {
  		return false;
 	}
}