加入收藏 | 设为首页 | 会员中心 | 我要投稿 咸宁站长网 (https://www.0715zz.cn/)- 文字识别、智能机器人、媒体智能、低代码、运维!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP字符串操作的一些函数

发布时间:2022-07-28 09:28:24 所属栏目:PHP教程 来源:互联网
导读:整理了一些学习中可能会用到一具php字符吕操作了例子,这些例子由网上整理并且大部份有简单的测试以直接使用,当然php字符串操作函数系统自带的肯定可以使用,具体怎么用大家根据自己情况来定吧. 1、字符串的连接符 半角符号.是字符串的连接符,可以把两个或两个
  整理了一些学习中可能会用到一具php字符吕操作了例子,这些例子由网上整理并且大部份有简单的测试以直接使用,当然php字符串操作函数系统自带的肯定可以使用,具体怎么用大家根据自己情况来定吧.
 
  1、字符串的连接符
 
  半角符号“.”是字符串的连接符,可以把两个或两个以上的字符串连接成一个字符串,例如:
 
  <?php
  $name = "PHP粉丝网:";
  $url = www.phpfensi;
  echo $name . $url . ".com";
  ?>
  //运行结果为:PHP粉丝网:www.phpfensi.com
  2、去除字符串首尾空格和特殊字符
 
  用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就要去除字符串中的空格和特殊字符.
 
  2.1 trim()函数
 
  trim()函数用于去除字符串开始位置以及结束位置的空格,并返回当前去掉空格后的字符串.
 
  语法格式:string trim(string str [,string charlist]);
 
  trim()函数的参数str是要操作的字符串对象,参数charlist是可选参数,指定需要从待定的字符串中删除特定的字符,如果不设该参数,则所有的可选字符都将被删除,参数charlist的可选值如下:
 
  参数值/说明
 
  NULL,空值
 
  t    tab,制表符
 
  n   换行符
 
  x0B    垂直制表符
 
  r    回车符
 
  " "    空格
 
  注:除了以上默认的过滤字符外,也可以在charlist中提供需要过滤的特殊字符,例如:
 
  <?php
  $str = "rr(:@_@ PHP粉丝网网 @_@:)";
  echo trim($str);    //去除字符串左右两边的空格
  echo "<br />";     //执行换行
  echo trim($str, "rr(::)");  //去除字符串左右两边的特殊字符rr(::)   
  ?>
   运行结果:
  (:@_@ PHP粉丝网 @_@:)
  @_@ PHP粉丝网 @_@
  2.2 ltrim()函数
 
  ltrim()函数用于去除字符串左边的空格或者指定字符串.
 
  语法格式如下:string ltrim(string str[, string charlist]);
 
  例如:
 
  <?php
  $str = " (:@_@ PHP粉丝网 @_@:) ";
  echo ltrim($str);    //去除字符串左边的空格
  echo "<br />";
  echo ltrim($str, "(:@_@ ");    //去除字符串左边的字符@_@:)
  ?>
  //运行结果为:
  //(:@_@ PHP粉丝网网 @_@:)
  //PHP粉丝网 @_@:)
  2.3rtrim()函数
 
  rtrim()函数用于去除字符串右边的空格或者指定字符串.
 
  语法格式如下:string rtrim(string str[, string charlist]);
 
  例如:
 
  <?php
  $str = " (:@_@ PHP粉丝网 @_@:) ";
  echo rtrim($str);    //去除字符串右边的空格
  echo "<br />";
  echo rtrim($str, "@_@:) ");    //去除字符串右边的字符@_@:)
  ?>
   运行结果为:
  (:@_@ PHP粉丝网 @_@:)
  (:@_@ PHP粉丝网
  字符串转义、还原的方法有两种:一种是手动转义、还原字符串数据,另一种是自动转义、还原字符串数据.
 
  1、手动转义、还原字符串数据
 
  字符串可以用单引号(')、双引号("")、定界符({})3种方法定义,当使用字符串时,很可能在该字符串中存在这几种符号与PHP脚本混淆的字符,因此必须要做转义语句,这就需要在他前面加转义符号“”.
 
  “”是一个转义字符,紧跟在“”后面的字符将变得没有任何意义.例如:
 
  <?php
      echo "I'm Tom";
  ?>
  //运行结果是:I'm Tom
  2、自动转义、还原字符串数据
 
  自动转义、还原字符串数据可以应用PHP提供的addslashes()函数和stripslashes()函数来实现.
 
  addslashes()函数用来为字符串加入斜线“”.
 
  stripslashes()函数用来将使用了addslashes()函数转义后的字符串还原.
 
  例如:
 
  <?php
      $str = "I'm Tom";
      $str2 = addslashes($str);    //对字符串中的特殊字符进行转义
      echo $str2 . "<br />";   
      echo stripslashes($str2);     //将转义后的字符串恢复,然后输出
  ?>
  //运行结果:
  //I'm Tom
  //I'm Tom
  以上两个函数实现了对指定字符串进行自动转义和还原,除了上面介绍的方法以外,还可以对要转义、还原的字符串进行一定的范围限制,通过使用addcslashes()函数和stripcslashes()函数实现对指定范围内的字符串进行自动转义、还原.
 
  addcslashes()函数实现转义字符串中的字符,即在指定的字符串前加上反斜线,stripcslashes()函数用来将使用addcslashes()函数转义的字符串还原.
 
  例如:
 
  <?php
      $str = "自学PHP就上PHP粉丝网";
      $str2 = addcslashes($str, "自学PHP就上PHP粉丝网");
      echo $str2 . "<br />";    //输出转义后的字符串
     echo stripcslashes($str2);    //输出还原后的字符串
  ?>
  运行结果:
  自学PHP就上PHP粉丝网
  长度
 
  PHP提供strlen函数来计算字符串的长度:
 
  $str = "test";
 
  echo strlen($str); // 将输出 4
 
  有点奇怪的是strlen将中日等汉字以及全角字符都当作两个或四个长度计算,好在mbstring或icon两个函数可以帮助解决这个问题,比如:
 
  $len = iconv_strlen($str, "GBK");
 
  $len = mb_strlen($str, "GBK");
 
  注:mbstring模块提供了大量的对含有多字节字符的字符串的处理函数,推荐多加应用,由于这篇文章讲的是字符串入门,所以不打算详细解说.
 
  分隔与连接
 
  PHP允许你把一个字符串按照一个分隔符进行分隔成一个数组,或者将一个数组组合成一个字符串,看下面的例子:
 
  $str = "i love iwind";
 
  $array = explode(" ", $str);
 
  上面的explode函数,就把$str字符串按空格字符进行分隔,结果返回一个数组 $array:array("i", "love", "iwind").与explode函数有类似功能的有:preg_split(), spliti(),split()等函数.
 
  与此相反的,implode和join则能把一个数组结合成一个字符串,他们是具有完全相同功能的函数.
 
  $array = array("i", "love", "iwind");
 
  $str = implode(" ", $array);
 
  例中的implode函数将数组$array的每个元素用空格字符进行连接,返回一个字符串 $str: "i love iwind".
 
  裁剪
 
  一个字符串首和尾,可能不是你想要的部分,就可以用trim,rtrim,ltrim等函数,分别去除一个字符串两端空格,一个字符串尾部空格,一个字符串首部空格.
 
  echo trim(" i love iwind "); // 将得到 "i love iwind"  
  echo rtrim(" i love iwind "); // 将得到 " i love iwind"  
  echo ltrim(" i love iwind "); // 将得到 "i love iwind"
  其实这三个参数不仅可以去除字符串首尾的空格,还可以去除它们的第二个参数指定的字符,如:
 
  echo trim(",1,2,3,4,", ","); // 将得到 1,2,3,4 两端的","号被裁掉了.
 
  有时还会看到有人使用chop这个函数,其实它是rtrim的同义函数.
 
  大小写:对于英文字母来说,可以用strtoupper,strtolower将其转变成大写或小写.
 
  echo strtoupper("i love iwind"); // 将得到 I LOVE IWIND
 
  echo strtolower("I LOVE IWIND"); // 将得到 i love iwind
 
  比较
 
  一般可以用 !=, == 比较两个对象是否相等,只所以说是两个对象,是因为它们不一定全部为字符串,也可以为整型等等,比如:
 
  $a = "joe";  
  $b = "jerry";  
  if ($a != $b)  
  {  
  echo "不相等";  
  }  
  else  
  {  
  echo "相等";  
  }  
  如果用 !==,===(可以看到多了一个等号)比较的话,两个对象的类型要严格相等才能返回true;否则用==,!=则会将字符串自动转换成相应的类型,以便进行比较.
 
  22 == "22"; // 返回 true
 
  22 === "22"; // 返回false
 
  正因为这样,所以我们的程序时常会发生一些想不到的“意外”:
 
  0 == "我爱你"; // 返回true
 
  1 == "1 我爱你";// 返回true
 
  PHP里还有这样一组用于字符串比较的函数:strcmp,strcasecmp,strncasecmp(), strncmp(),它们都是如果前者比后者大,则返回大于0的整数;如果前者比后者小,则返回小于0的整数;如果两者相等,则返回0.它们比较的原理与其它语言的规则都是一样的。

(编辑:咸宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读