php 字串中是否包含指定字串的多種方法
阿新 • • 發佈:2020-07-01
編寫程式的時候,經常要處理字串,最基本就是字串的查詢,在php檢測字串中是否包含指定字串可以使用正則,如果你對正則不瞭解,那麼有幾個函式可以為您提供方便。
strpos() 函式判斷字串中是否包含某字串https://www.jb51.net/article/154741.htm
1. strstr
strstr() 函式搜尋一個字串在另一個字串中的第一次出現。
該函式返回字串的其餘部分(從匹配點)。如果未找到所搜尋的字串,則返回 false。
程式碼如下:
<?php /*如手冊上的舉例*/ $email = '[email protected]'; $domain = strstr($email, '@'); echo $domain; // prints @example.com ?>
2. stristr
stristr() 函式查詢字串在另一個字串中第一次出現的位置。
如果成功,則返回字串的其餘部分(從匹配點)。如果沒有找到該字串,則返回 false。
它和strstr的使用方法完全一樣.唯一的區別是stristr不區分大小寫.
3. strpos
strpos函式返回boolean值.FALSE和TRUE不用多說.用 “===”進行判斷.strpos在執行速度上都比以上兩個函式快,另外strpos有一個引數指定判斷的位置,但是預設為空.意思是判斷整個字串.缺點是對中文的支援不好.
例項1
if(strpos('www.jb51.net','jb51') !== false){ echo '包含jb51'; }else{ echo '不包含jb51'; }
例項2
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle); // 返回第一次找到改字串的位置,這裡返回為1,若查不到則返回False
4. explode
用explode進行判斷PHP判斷字串的包含程式碼如下:
function checkstr($str){
$needle ='a';//判斷是否包含a這個字元
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
5、substr例如我們需要判斷最後一個字元是不是制定字元
<?php
/*
$str1="<p>這是個winrar專用的dll然後下哦啊不錯的dll檔案,QlogWin32.dll</p>";
if(substr($str1,-8)==".dll</p>"){
echo substr($str1,0,-4);
}
6、substr_count統計“子字串”在“原始字串中出現的次數”
substr_count()函式本是一個小字串在一個大字串中出現的次數:
$number = substr_count(big_string, small_string);
正好今天需要一個查詢字串的函式,要實現判斷字串big_string是否包含字串small_string,返回true或fasle;
查了半天手冊沒有找到現成的函式,於是想到可以用substr_count函式來實現程式碼如下:
function check_str($str, $substr)
{
$nums=substr_count($str,$substr);
if ($nums>=1)
{
return true;
}
else
{
return false;
}
}