php 字符串中是否包含指定字符串的多種方法
編寫(xiě)程序的時(shí)候,經(jīng)常要處理字符串,最基本就是字符串的查找,在php檢測(cè)字符串中是否包含指定字符串可以使用正則,如果你對(duì)正則不了解,那么有幾個(gè)函數(shù)可以為您提供方便。
strpos() 函數(shù)判斷字符串中是否包含某字符串 http://www.dhdzp.com/article/154741.htm
1. strstr
strstr() 函數(shù)搜索一個(gè)字符串在另一個(gè)字符串中的第一次出現(xiàn)。
該函數(shù)返回字符串的其余部分(從匹配點(diǎn))。如果未找到所搜索的字符串,則返回 false。
代碼如下:
<?php /*如手冊(cè)上的舉例*/ $email = 'user@example.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com ?>
2. stristr
stristr() 函數(shù)查找字符串在另一個(gè)字符串中第一次出現(xiàn)的位置。
如果成功,則返回字符串的其余部分(從匹配點(diǎn))。如果沒(méi)有找到該字符串,則返回 false。
它和strstr的使用方法完全一樣.唯一的區(qū)別是stristr不區(qū)分大小寫(xiě).
3. strpos
strpos函數(shù)返回boolean值.FALSE和TRUE不用多說(shuō).用 “===”進(jìn)行判斷.strpos在執(zhí)行速度上都比以上兩個(gè)函數(shù)快,另外strpos有一個(gè)參數(shù)指定判斷的位置,但是默認(rèn)為空.意思是判斷整個(gè)字符串.缺點(diǎn)是對(duì)中文的支持不好.
實(shí)例1
if(strpos('www.dhdzp.com','jb51') !== false){
echo '包含jb51';
}else{
echo '不包含jb51';
}
實(shí)例2
$str= 'abc'; $needle= 'a'; $pos = strpos($str, $needle); // 返回第一次找到改字符串的位置,這里返回為1,若查不到則返回False
4. explode
用explode進(jìn)行判斷PHP判斷字符串的包含代碼如下:
function checkstr($str){
$needle ='a';//判斷是否包含a這個(gè)字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
5、substr例如我們需要判斷最后一個(gè)字符是不是制定字符
<?php
/*
$str1="<p>這是個(gè)winrar專用的dll然后下哦啊不錯(cuò)的dll文件,QlogWin32.dll</p>";
if(substr($str1,-8)==".dll</p>"){
echo substr($str1,0,-4);
}
6、substr_count統(tǒng)計(jì)“子字符串”在“原始字符串中出現(xiàn)的次數(shù)”
substr_count()函數(shù)本是一個(gè)小字符串在一個(gè)大字符串中出現(xiàn)的次數(shù):
$number = substr_count(big_string, small_string);
正好今天需要一個(gè)查找字符串的函數(shù),要實(shí)現(xiàn)判斷字符串big_string是否包含字符串small_string,返回true或fasle;
查了半天手冊(cè)沒(méi)有找到現(xiàn)成的函數(shù),于是想到可以用substr_count函數(shù)來(lái)實(shí)現(xiàn)代碼如下:
function check_str($str, $substr)
{
$nums=substr_count($str,$substr);
if ($nums>=1)
{
return true;
}
else
{
return false;
}
}
超級(jí)簡(jiǎn)單!
具體的大家可以查找一下相關(guān)函數(shù),進(jìn)行高級(jí)應(yīng)用。
相關(guān)文章
PHP curl 獲取響應(yīng)的狀態(tài)碼的方法
PHP curl可以從服務(wù)器端模擬一個(gè)http請(qǐng)求,例如抓取網(wǎng)頁(yè)、模擬登陸等,想要獲取狀態(tài)碼,需要在執(zhí)行curl_exec后再通過(guò)curl_getinfo來(lái)獲取2014-01-01
gearman中任務(wù)的優(yōu)先級(jí)和返回狀態(tài)實(shí)例分析
這篇文章主要介紹了gearman中任務(wù)的優(yōu)先級(jí)和返回狀態(tài),結(jié)合實(shí)例形式分析了gearman任務(wù)的優(yōu)先級(jí)以及獲取返回狀態(tài)相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
項(xiàng)目中應(yīng)用Redis+Php的場(chǎng)景
Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。今天我們來(lái)看下php結(jié)合redis的一些應(yīng)用場(chǎng)景2016-05-05
phpMyAdmin鏈接MySql錯(cuò)誤 個(gè)人解決方案
phpMyAdmin 試圖連接到 MySQL 服務(wù)器,但服務(wù)器拒絕連接。您應(yīng)該檢查 config.inc.php 中的主機(jī)、用戶名和密碼,并且確定這些信息與 MySQL 服務(wù)器的管理員所給出的信息一致。2009-12-12
PHP轉(zhuǎn)換文件夾下所有文件編碼的實(shí)現(xiàn)代碼
本篇文章是對(duì)PHP轉(zhuǎn)換文件夾下所有文件編碼的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

