php字符串查找和匹配 PHP裡用於查找或匹配或定位的函數非常多,他們都有不同的意義。這裡只講述用得比較多的strstr,stristr.後者和前者的功能,返回值都相同,只是不區分大小寫。
php教程字符串查找和匹配
php裡用於查找或匹配或定位的函數非常多,他們都有不同的意義。這裡只講述用得比較多的strstr,stristr.後者和前者的功能,返回值都相同,只是不區分大小寫。
strstr("母字符串", "子字符串")用來查找子字符串在母字符串中第一次出現的位置,並返回母字符串中從子字符串開始到母字符串結束的部分。比如
echo strstr("abcdefg", "e"); //將輸出 "efg"
如果未找到子字符串,則返回空。因為能用來判斷一個字符串中是否含有另外一個字符串:
$needle = "iwind";
$str = "i love iwind";
if (strstr($str, $needle))
{
echo "裡面有 iwind";
}
else
{
echo "裡面沒有 iwind";
}
將會輸出"裡面有 iwind"
preg_match正則
preg_match 兼容的正則表達式語法中 b 代表單詞邊界
所以:下面應該是可以???
$a="test,admin,abc";
$b="te";
$exist=preg_match("/b{$b}b/",$a);
if($exist)
{
echo "存在";
}else
{
echo "不存在";
}
看一下相關說明
int preg_match ( string pattern, string subject [, array matches [, int flags]] );
preg_match() 返回 pattern 所匹配的次數。要麼是 0 次(沒有匹配)或 1 次,因為 preg_match() 在第一次匹配之後將停止搜索。preg_match_all() 則相反,會一直搜索到 subject 的結尾處。如果出錯 preg_match() 返回 false。
示例:
$a = "abcdefgabcdefaaag";
preg_match('|abc([a-z]+)g|isu',$a,$out1);
preg_match_all('|abc([s]+)g|isu',$a,$out2);
echo "
";
print_r($out1);
print_r($out2);
echo "
";
?>
寫法: 使用雙引號時和單引號的不同
preg_match_all("/href="(.*)"/isu",$contents,$out);
preg_match_all('|href="(.*)"|isu',$contents,$out);
?>