PHP

PHP 知识量:7 - 20 - 67

4.2 字符串的操作><

去除空格- 4.2.1 -

php的字符串拥有许多的内置函数,可以用来对字符串进行各种操作,以下为一些常用的功能介绍。

要去除字符串的空格可以使用ltrim、rtrim和trim函数。

  • ltrim函数可以去除字符串最左边的空格。

  • rtrim函数可以去除字符串最右边的空格。

  • trim函数可以去除字符串首尾两端的空格。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $string = "   Hello world   ";
        var_dump(ltrim($string));
        echo "<br>";
        var_dump(rtrim($string));
        echo "<br>";
        var_dump(trim($string));
        ?>
    </body>
</html>

以上代码中,Hello world的前后各留个3个空格,var_dump函数可以将字符串中字符的个数信息一并打印,结果如下:

3.JPG

截取- 4.2.2 -

要截取字符串可以使用substr函数。它有3个参数:

  1. 要截取的目标字符串

  2. 起始位置

  3. 截取的长度(可选的)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $string = "abcdefghijklmn";
        var_dump(substr($string, 0, 3));
        echo "<br>";
        var_dump(substr($string, -3));
        echo "<br>";
        var_dump(substr($string, 1, -1));
        ?>
    </body>
</html>

以上代码中,定义了一个字符串$string。

  • substr函数的第一个参数即是$string,它就是要截取的目标字符串。

  • 第二个参数表示开始位置,如果是正数n,则表示从字符串头部数第n+1个开始;如果是负数n,则表示从字符串末尾数第n个开始;如果是0,就是从第一个字符开始(php默认从0开始计数)。

  • 第三个参数表示截取长度,如果是正数n,则表示截取n个字符;如果是负数n,则表示截取到从字符串末尾数第n个字符;如果是0,则表示不截取任何字符。如果省略,则表示截取到字符串结束。

以上代码的运行结果如下:

2.JPG

大小写转换- 4.2.3 -

要转换字符串的大小写,可以使用ucwords、strtoupper和strtolower函数。

  • ucwords可以将字符串中每个单词首字母大写。

  • strtoupper可以将字符串中全部字符变为大写。

  • strtolower可以将字符串中全部字符变为小写。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $string = "aBcDeFg hJjKlMn";
        var_dump(ucwords($string));
        echo "<br>";
        var_dump(strtoupper($string));
        echo "<br>";
        var_dump(strtolower($string));
        ?>
    </body>
</html>

以上代码的运行结果如下:

1.JPG

查找- 4.2.4 -

php中有许多用于字符串查询的函数,其中常用的有strlen、strstr、stristr、strpos和str_replace等。

  • strlen函数用于获取字符串长度。其中,长度的计算包含空格。

  • strstr函数用于在原始字符串中匹配指定的字符串。第一个参数是原始字符串,第二个参数是要查找的字符串。这个函数区分大小写。如果匹配成功,就返回原始字符串中从第一个匹配字符到结束的字符串;匹配失败就返回false。

  • stristr函数与strstr功能一样,但是不区分大小写。

  • strpos函数与strstr功能相似,但是它返回匹配成功的第一个字符的位置(注意:php中总是从0开始计数),如果匹配失败就返回false。

  • str_replace函数在原始字符串中对匹配成功的字符串进行替换。第一个参数是要查找的字符串,第二个参数是替换后的字符串,第三个参数是原始字符串。

举例说明:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $string = "abcdefg hijklmn";
        echo strlen($string);
        echo "<br>";
        var_dump(strstr($string, "Def"));
        echo "<br>";
        echo stristr($string, "Def");
        echo "<br>";
        echo strpos($string, "def");
        echo "<br>";
        echo str_replace("def", "DEF", $string);
        ?>
    </body>
</html>

以上代码的打印结果是:

4.JPG

编辑- 4.2.5 -

常用的字符串编程函数主要有strip_tags、addslashes、stripslashes、htmlentities等函数。

  • strip_tags函数用于过滤字符串中的HTML标签,通过参数也可以设置例外的标签,从而保留它们。

  • addslashes函数用于特殊符号的转义,一般是通过添加反斜线的方式实现。

  • stripslashes函数与addslaches函数正好相反,用于去除反斜线。

  • htmlentities函数用于将HTML标签转换为实体编码格式。

举例说明:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $string = "<a><i>click</i> here\ to '<strong>www.pnotes.cn</strong>'.</a>";
        echo "$string";
        echo "<br>";
        echo strip_tags($string);
        echo "<br>";
        echo strip_tags($string, '<strong>');
        echo "<br>";
        echo addslashes($string);
        echo "<br>";
        echo stripslashes($string);
        echo "<br>";
        echo htmlentities($string);
        ?>
    </body>
</html>

以上代码的运行结果如下:

5.JPG

  • 第一行是原样打印。

  • 第二行是通过strip_tags去除所有标签后的结果。

  • 第三行是通过strip_tags和参数<strong>去除所有标签,但保留strong标签后的结果。

  • 第四行是通过addslashes进行特殊字符转义后的结果。

  • 第五行是通过stripslashes去除字符转义后的结果,原字符串中的反斜线也被去除了。

  • 第六行是通过htmlentities对HTML标签实体化后的结果。