php檢測字串是否包含字串

2020-07-16 10:05:44

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,若查不到則返回Fals

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;
 }
}

推薦教學:PHP視訊教學

以上就是php檢測字串是否包含字串的詳細內容,更多請關注TW511.COM其它相關文章!