編寫程序的時候,經(jīng)常要處理字符串,最基本就是字符串的查找,在php檢測字符串中是否包含指定字符串可以使用正則,如果你對正則不了解,那么有幾個函數(shù)可以為您提供方便。
strpos() 函數(shù)判斷字符串中是否包含某字符串 https://www.jb51.net/article/154741.htm
1. strstr
strstr() 函數(shù)搜索一個字符串在另一個字符串中的第一次出現(xiàn)。
該函數(shù)返回字符串的其余部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。
代碼如下:
?php
/*如手冊上的舉例*/
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain;
// prints @example.com
?>
2. stristr
stristr() 函數(shù)查找字符串在另一個字符串中第一次出現(xiàn)的位置。
如果成功,則返回字符串的其余部分(從匹配點)。如果沒有找到該字符串,則返回 false。
它和strstr的使用方法完全一樣.唯一的區(qū)別是stristr不區(qū)分大小寫.
3. strpos
strpos函數(shù)返回boolean值.FALSE和TRUE不用多說.用 “===”進(jìn)行判斷.strpos在執(zhí)行速度上都比以上兩個函數(shù)快,另外strpos有一個參數(shù)指定判斷的位置,但是默認(rèn)為空.意思是判斷整個字符串.缺點是對中文的支持不好.
實例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進(jìn)行判斷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統(tǒng)計“子字符串”在“原始字符串中出現(xiàn)的次數(shù)”
substr_count()函數(shù)本是一個小字符串在一個大字符串中出現(xiàn)的次數(shù):
$number = substr_count(big_string, small_string);
正好今天需要一個查找字符串的函數(shù),要實現(xiàn)判斷字符串big_string是否包含字符串small_string,返回true或fasle;
查了半天手冊沒有找到現(xiàn)成的函數(shù),于是想到可以用substr_count函數(shù)來實現(xiàn)代碼如下:
function check_str($str, $substr)
{
$nums=substr_count($str,$substr);
if ($nums>=1)
{
return true;
}
else
{
return false;
}
}
超級簡單!
具體的大家可以查找一下相關(guān)函數(shù),進(jìn)行高級應(yīng)用。
您可能感興趣的文章:- PHP正在進(jìn)行時-變量詳解及字符串動態(tài)插入變量
- php解析http獲取的json字符串變量總是空白null
- php使用parse_str實現(xiàn)查詢字符串解析到變量中的方法
- php 變量定義方法
- php中static靜態(tài)變量的使用方法詳解
- php判斷變量類型常用方法
- PHP中session變量的銷毀
- PHP 判斷常量,變量和函數(shù)是否存在
- PHP 變量類型的強(qiáng)制轉(zhuǎn)換
- 解析在PHP中使用全局變量的幾種方法
- PHP中使用unset銷毀變量并內(nèi)存釋放問題
- php變量與字符串的增刪改查操作示例