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 兼容的正则表达式语法中,代表单词边界,所以,下面应该是可以?代码如下:
$a="test,admin,abc"; $b="te"; $exist=preg_match("/{$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.
示例,代码如下:
<?php $a = "abcdefgabcdefaaag"; preg_match('|abc([a-z]+)g|isu',$a,$out1); preg_match_all('|abc([s]+)g|isu',$a,$out2); echo "<pre class="brush:php;toolbar:false">"; print_r($out1); print_r($out2); echo "";
写法,使用双引号时和单引号的不同,代码如下:
<?php preg_match_all("/href="(.*)"/isu",$contents,$out); preg_match_all('|href="(.*)"|isu',$contents,$out);
本文地址:
转载随意,但请附上文章地址:-)