PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php怎么检测指定字符串中是否包含另一个字符串

青灯夜游
青灯夜游 原创
2022-09-02 20:00:08 10345浏览

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 开始。

示例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$findme1 = &#39;y&#39;;
$findme2 = &#39;Y&#39;;
$mystring = &#39;xyz&#39;;
$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>";
}
?>

1.png

方法2:利用strrpos()函数检测

strrpos() 函数可以查找字符串在另一字符串中最后一次出现的位置(区分大小写)。

如果指定字符存在,则返回最后一次出现的位置;如果没有找到,则返回 FALSE。

示例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$findme1 = &#39;C&#39;;
$findme2 = &#39;c&#39;;
$mystring = &#39;ABC&#39;;
$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>";
}
?>

2.png

方法3:使用explode()函数检测

explode() 函数使用指定分割符来分割一个字符串,并返回由字符串组成的数组。

如果数组不为空数组(数组长度大于1),则包含;反之,则数组为空,进而不包含另一个字符串

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$url = "001a.gif";
$str = "a";
$con = explode($str,$url);
if (count($con)>1){
	echo $url." 中包含 ".$str;
}else{
	echo $url." 中没有包含 ".$str; 
}
?>

3.png

方法4:使用strstr()函数检测

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$email = &#39;user@example.com&#39;;
$str=&#39;@&#39;;
$domain = strstr($email, $str);
if ($domain){
	echo $email." 中包含 ".$str;
}else{
	echo $email." 中没有包含 ".$str; 
}
?>

4.png

推荐学习:《PHP视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。