4种方法:1、用strpos(),语法“strpos(字符串,另一个字符串)”,返回位置值则包含。2、用strrpos(),语法“strrpos(字符串,另一字符串)”,返回位置值则包含。3、用explode(),语法“explode(另一字符串,字符串)”,返回的数组为空数组则不包含。4、用strstr(),语法“strstr(字符串,另一字符串)”,返回false则不包含。
本教程操作环境:windows7系统、php8.1版、dell g3电脑
php检测字符串中是否包含另一个字符串
方法1:利用strpos()函数检测
strpos() 函数可以查找字符串在另一字符串中第一次出现的位置(区分大小写)。
如果指定字符存在,则返回第一次出现的位置;如果没有找到,则返回 false。
注释: 字符串位置从 0 开始,不是从 1 开始。
示例:
<?phpheader('content-type:text/html;charset=utf-8'); $findme1 = 'y';$findme2 = 'y';$mystring = 'xyz';$pos1 = strpos($mystring, $findme1);$pos2 = strpos($mystring, $findme2);var_dump($pos1);var_dump($pos2);if($pos1){ echo $mystring." 中包含指定字符 $findme1 <br>";}else{ echo $mystring." 中不包含指定字符 $findme1 <br>";}if($pos2){ echo $mystring." 包含指定字符 $findme2 <br>";}else{ echo $mystring." 不包含指定字符 $findme2 <br>";}?>
方法2:利用strrpos()函数检测
strrpos() 函数可以查找字符串在另一字符串中最后一次出现的位置(区分大小写)。
如果指定字符存在,则返回最后一次出现的位置;如果没有找到,则返回 false。
示例:
<?phpheader('content-type:text/html;charset=utf-8'); $findme1 = 'c';$findme2 = 'c';$mystring = 'abc';$pos1 = strrpos($mystring, $findme1);$pos2 = strrpos($mystring, $findme2);var_dump($pos1);var_dump($pos2);if($pos1){ echo $mystring." 中包含指定字符 $findme1 <br>";}else{ echo $mystring." 中不包含指定字符 $findme1 <br>";}if($pos2){ echo $mystring." 包含指定字符 $findme2 <br>";}else{ echo $mystring." 不包含指定字符 $findme2 <br>";}?>
方法3:使用explode()函数检测
explode() 函数使用指定分割符来分割一个字符串,并返回由字符串组成的数组。
如果数组不为空数组(数组长度大于1),则包含;反之,则数组为空,进而不包含另一个字符串
<?phpheader('content-type:text/html;charset=utf-8'); $url = "001a.gif";$str = "a";$con = explode($str,$url);if (count($con)>1){ echo $url." 中包含 ".$str;}else{ echo $url." 中没有包含 ".$str; }?>
方法4:使用strstr()函数检测
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
<?phpheader('content-type:text/html;charset=utf-8'); $email = 'user@example.com';$str='@';$domain = strstr($email, $str);if ($domain){ echo $email." 中包含 ".$str;}else{ echo $email." 中没有包含 ".$str; }?>
推荐学习:《php视频教程》
以上就是php怎么检测指定字符串中是否包含另一个字符串的详细内容。