php中处理字符串的常见函数

编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便。

1. strstr

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。

代码如下:

 
1
2
3
4
5
6
7
<?php
  /*如手册上的举例*/
  $email = '[email protected]' ;
  $domain = strstr ( $email , '@' );
  echo $domain ;
  // prints @example.com
?>

2. stristr

stristr() 函数查找字符串在另一个字符串中第一次出现的位置。
如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。

它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.

3. strpos

strpos函数返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.

实例1

扫描二维码关注公众号,回复: 2412595 查看本文章
 
1
2
3
4
5
if ( strpos ( 'www.jb51.net' , 'jb51' ) !== false){
  echo '包含jb51' ;
} else {
  echo '不包含jb51' ;
}

实例2

 
1
2
3
$str = 'abc' ;
$needle = 'a' ;
$pos = strpos ( $str , $needle ); // 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False

4. explode

用explode进行判断PHP判断字符串的包含代码如下:

 
1
2
3
4
5
6
7
8
9
function checkstr( $str ){
  $needle = 'a' ; //判断是否包含a这个字符
  $tmparray = explode ( $needle , $str );
  if ( count ( $tmparray )>1){
   return true;
  } else {
   return false;
  }
}

5、substr例如我们需要判断最后一个字符是不是制定字符

 
1
2
3
4
5
6
<?php
/*
$str1 = "<p>这是个winrar专用的dll然后下哦啊不错的dll文件,QlogWin32.dll</p>" ;
if ( substr ( $str1 ,-8)== ".dll</p>" ){
echo substr ( $str1 ,0,-4);
}

6、substr_count统计“子字符串”在“原始字符串中出现的次数”

substr_count()函数本是一个小字符串在一个大字符串中出现的次数:
$number = substr_count(big_string, small_string);
正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle;

查了半天手册没有找到现成的函数,于是想到可以用substr_count函数来实现代码如下:

 
1
2
3
4
5
6
7
8
9
10
11
12
function check_str( $str , $substr )
{
  $nums =substr_count( $str , $substr );
   if ( $nums >=1)
   {
    return true;
   }
   else
   {
    return false;
   }
}

猜你喜欢

转载自www.cnblogs.com/kernel123/p/9378892.html