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('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。
示例:
<?php header('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),則包含;反之,則數組為空,進而不包含另一個字符串
<?php header('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。
<?php header('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視頻教程》
VIP推薦:共22門課程,總價3725元,開通VIP會員免費
站長資訊網