php 字符串中是否包含指定字符串的多種方法


1. strstr

strstr() 函數搜索一個字符串在另一個字符串中的第一次出現。
該函數返回字符串的其余部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。

代碼如下:

1
2
3
4
5
6
7
<?php
  /*如手冊上的舉例*/
  $email = 'user@example.com' ;
  $domain = strstr ( $email , '@' );
  echo $domain ;
  // prints @example.com
?>

2. stristr

stristr() 函數查找字符串在另一個字符串中第一次出現的位置。
如果成功,則返回字符串的其余部分(從匹配點)。如果沒有找到該字符串,則返回 false。

它和strstr的使用方法完全一樣.唯一的區別是stristr不區分大小寫.

3. strpos

strpos函數返回boolean值.FALSE和TRUE不用多說.用 “===”進行判斷.strpos在執行速度上都比以上兩個函數快,另外strpos有一個參數指定判斷的位置,但是默認為空.意思是判斷整個字符串.缺點是對中文的支持不好.

實例1

1
2
3
4
5
if ( strpos ( 'www.jb51.net' , 'jb51' ) !== false){
  echo '包含jb51' ;
} else {
  echo '不包含jb51' ;
}

實例2

1
2
3
$str = 'abc' ;
$needle = 'a' ;
$pos = strpos ( $str , $needle ); // 返回第一次找到改字符串的位置,這里返回為1,若查不到則返回False

4. explode

用explode進行判斷PHP判斷字符串的包含代碼如下:

1
2
3
4
5
6
7
8
9
function checkstr( $str ){
  $needle = 'a' ; //判斷是否包含a這個字符
  $tmparray = explode ( $needle , $str );
  if ( count ( $tmparray )>1){
  return true;
  } else {
  return false;
  }
}

5、substr例如我們需要判斷最后一個字符是不是制定字符

1
2
3
4
5
6
<?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函數來實現代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
function check_str( $str , $substr )
{
  $nums =substr_count( $str , $substr );
  if ( $nums >=1)
  {
   return true;
  }
  else
  {
   return false;
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM