在程序的時候,經(jīng)常要處理字符串,最基本就是字符串的查找,可能需要檢查字符串是否包含特定的字符或子字符串,因為必須對該字符串或字符執(zhí)行某些操作。一般使用下面的3個php內(nèi)置函數(shù)來檢查一個字符串是否包含特定字符。
PHP strrpos()函數(shù)
PHP strstr()函數(shù)
PHP preg_match()函數(shù)
PHP strrpos()函數(shù)
strrpos() 函數(shù)查找字符串在另一字符串中最后一次出現(xiàn)的位置。根據(jù)strrpos() 函數(shù)的特征,可以使用它來判斷一個字符串中是否包含指定字符串。
首先來看一下strrpos()函數(shù)的語法和參數(shù)。
語法:
strrpos(string,find,start)
參數(shù)詳細描述:
參數(shù) 描述
string 必需。規(guī)定被搜索的字符串。
find 必需。規(guī)定要查找的字符。
start 可選。規(guī)定在何處開始搜索。
注意:字符串位置從 0 開始,不是從 1 開始。
例子:
<?php
//從提交的表單中獲取郵件信息并保存到變量$email中
$email = $_POST['email'];
//判斷提交的郵箱地址里是否包含@符號
if (strpos($email, '@') !== false) {
print '提交的郵箱地址包含@符號!';
} else {
print '提交的郵箱地址沒有包含@符號!';
}
?>
如果需要查找的字符對大小寫不敏感,可以使用strripos()。
PHP strstr()函數(shù)
strstr() 函數(shù)搜索一個字符串在另一個字符串中的第一次出現(xiàn)。該函數(shù)返回字符串的其余部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。
語法
strstr(string,search,before_search)
參數(shù)描述:
參數(shù) 描述
string 必需。規(guī)定被搜索的字符串。
search
必需。規(guī)定所搜索的字符串。
如果此參數(shù)是數(shù)字,則搜索匹配此數(shù)字對應的 ASCII 值的字符。
before_search
可選。默認值為 "false" 的布爾值。
如果設置為 "true",它將返回 search 參數(shù)第一次出現(xiàn)之前的字符串部分。
例子:
if (false !== strstr($source_str, $substring)) {
echo '包含!';
} else {
echo '未包含!';
}
PHP preg_match()函數(shù)
最后一種方法是使用正則表達式結合PHP preg_match 函數(shù)檢查一個字符串是否包含另一個字符 。如果匹配上,那么函數(shù)將返回true,否則返回false。preg_match語法語法如下:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
以下是一個非常簡單的匹配:
if (preg_match("/Fangwei/i", "http://m.oulysa.com/")) {
echo "匹配!";
} else {
echo "未匹配!";
}
正則表達式最后的字符“i”表示匹配不區(qū)分大小寫。
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉(zhuǎn)載請注明來自http://m.oulysa.com/news/6563.html