PHP 常用字符串函数(重点)

159 阅读1分钟
  • 字符串输出:
    • echo:输出一个或多个字符(不是函数,是语言结构)
    • print:输出一个字符串
    • print_r:输出变量的较为详细的信息
    • var_dump:输出变量的完整信息

  • 字符串去除与填充:
    • trim:消除一个字符串两端的空白字符或指定字符(空白字符包括:空格,\n,\r,\t等)
    • ltrim:消除一个字符串左边的空白字符或指定字符
    • rtrim:消除一个字符串右边的空白字符或指定字符
    • str_pad:将一个字符串使用指定的字符填充到指定的长度

  • 字符串连接与分割:
    • implode:将一个数组的值连接起来组成一个字符串
    • join:同implode
    • explode:将一个字符串使用指定的字符分割为一个数组
    • str_split:将一个字符串按指定的长度分割为一个数组

  • 字符串截取
    • substr:获取-个字符串中指定位置开始指定长度的子字符串
    • strstr:获取一个字符串中某个指定字符首次出现的位置起,到最后结尾处的字符 strstr('abcd.12.3.txt', '.'); // 结果是: ".12.3.txt"
    • strrchr:获取一个字符串中某个指定字符最后一次出现的位置起,到最后结尾处的字符 strrchr('abcd.12.3.txt', '.'); // 结果是: ".txt"

  • 字符串替换
    • str_replace:将一个字符串中的指定字符,替换为给定的新字符。 $v1 = "ab-cd-12-3.5"; $v2 = str_replace('-', '|', $v1); // 结果是:"ab|cd|12|3.5" $v2 = str_replace('-', '++', $v1); // 结果是:"ab++cd++12++3.5"
    • substr_replace:将一个字符串中指定位置开始的指定个数的字符,替换为给定的新字符。

  • 字符串长度与位置:
    • strlen:获取字符串的字节长度。
    • strpos:获取一个字符串中某个子字符串首次出现的位置。 strpos('abcd.12.3.txt', '.'); // 结果是: 4
    • strrpos:获取一个字符串中某个子字符串最后一次出现的位置 。 strrpos('abcd.12.3.txt', '.'); // 结果是: 9 strrpos('abcd.12.3.txt', 'cd'); // 结果是: 2

  • 字符转换:
    • strtolower:将一个字符串转换为小写。
    • strtoupper:将一个字符串转换为大写。
    • lcfirst:将一个字符串的首字母转换为小写
    • ucfirst:将一个字符串的首字母转换为大写。
    • ucwords:将一个字符串中的所有单词的首字母转换大写。

  • 特殊字符处理:
    • nl2br:将换行符转换为 "
      " 标签字符
    • addslashes:将一个字符串中的以下几个字符使用反斜杠进行转义: \ ‘ “
    • htmlspecialchars:将 html 中的特殊字符转换为 html 实体字符,如下所示: (& ‘ “ < > )分别转换为: ( &amp; &apos; &quot; &lt; &gt; )
    • htmlspecialchars_decode:将 html 实体字符,转换回原本的字符。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
    // nl2br
    $str = nl2br("abc\ndefg");
    echo $str;

    // htmlspecialchars
    $str2 = "if a<b && b>c then ok!";
    echo '<br>' . $str2;
    echo '<br>' . htmlspecialchars($str2);
  ?>
</body>
</html>


  • 案例:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
    // 取出下面数组中的图片文件:
    $files = array('abc.gif', '123.txt', 'dir1/gift.PNG', 'file1.JPG', 'gif动画制作教程.doc');
    // 获取数组参数
    $len = count($files);
    for ($i = 0; $i < $len; $i++) { 
      $houzui = strrchr($files[$i], '.'); // 得到类型 .gif .txt
      $houzui = substr($houzui, 1); // 从位置1开始取到最后
      $houzui = strtolower($houzui); // 转成小写
      if ($houzui == 'png' || $houzui == 'gif' || $houzui == 'jpg') {
        echo '<br>' . $files[$i];
      }
    }
  ?>
</body>
</html>