Heim >Backend-Entwicklung >PHP-Tutorial >php字符串查找 strstr preg_match_PHP教程
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);
?>