PHP字符串处理

    xiaoxiao2021-03-25  29

    字符串输出

    echo():输出一个或多个字符串print():输出一个字符串printf():输出格式化字符串 printf()格式化方法说明%d十进制有符号整数%u十进制无符号整数%f浮点数%s字符串%c单个字符%p指针的值%e指数形式的浮点数%x/%X无符号以小/大写十六进制表示的整数%o无符号以八进制表示的整数%g自动选择合适的表示法

    字符串去除 trim、ltrim 与 rtrim 函数

    PHP 字符串去除 用于去除字符串首尾空白等特殊符号或指定的字符。

    相关函数说明

    函数语法说明trim()string trim(string str[, charlist])去除字符串 首尾 空白等特殊符号或指定字符序列ltrim()string ltrim(string str[, charlist])去除字符串 首 空白等特殊符号或指定字符序列rtrim()string rrim(string str[, charlist])去除字符串 尾 空白等特殊符号或指定字符序列chop()同rtrim()同rtrim() $text = " Hello World "; $trimmed = trim($text); echo $trimmed; //输出"Hello World" echo "<br />"; echo trim($trimmed, "Hdl"); //输出"ello Wor" echo "<br />"; echo trim($text, "Hdl"); //输出"Hello World"

    注:从这个例子可以看出,trim()函数将不会去除非首尾的指定字符 (charlist) 。

    将数组元素组合为字符串

    implode() 函数用于将数组元素组合为一个字符串,并返回该字符串。

    类别说明函数implode(),join() 为implode() 的别名函数。语法string implode( string glue, array array )说明将数组元素组合为一个字符串,并返回该字符串。参数glue连接数组元素的字符参数array需要组合为字符串的数组 $array = array('姓名', '电话', '邮箱'); $char = implode("-", $array); $char1 = join("-", $array); echo $char;//姓名-电话-邮箱 echo $char1;//姓名-电话-邮箱

    字符串分割

    explode():使用一个字符串分割另一个字符串,返回一个数组。str_split():将字符串分割到数组中,成功返回一个数组。

    explode()函数

    类别说明函数explode()语法array explode(string separator, string string [, int limit])说明使用一个字符串分割另一个字符串,返回一个数组。参数separator分割标志参数string需要分割的字符串参数limit(可选)表示返回的数组包含最多limit个元素,而最后那个元素将包含string的剩余部分,支持负数。 <?php $str = 'one|two|three|four'; print_r(explode('|', $str)); print_r(explode('|', $str, 2)); // 负数的 limit(自 PHP 5.1 起) print_r(explode('|', $str, -1)); ?>

    输出结果:

    Array ( [0] => one [1] => two [2] => three [3] => four ) Array ( [0] => one [1] => two|three|four ) Array ( [0] => one [1] => two [2] => three )

    str_split函数

    类别说明函数str_split()语法array str_split(string string [, int length])说明将字符串分割为一个数组,成功返回一个数组。参数string需要分割的字符串参数length可选,表示每个分割单位的长度,不可小于1 <?php $str = 'Hello World'; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); ?>

    输出结果:

    Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => W [7] => o [8] => r [9] => l [10] => d ) Array ( [0] => Hel [1] => lo [2] => Wor [3] => ld )

    字符串截取

    从字符串中获取指定字符串。

    substr():从字符串中获取其中的一部分strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符strchr():同 strstr()strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符

    substr()

    类别说明函数substr()语法array str_split(string string [, int length])说明从字符串中获取其中的一部分,返回一个字符串。参数string要处理的字符串参数start字符串开始位置,起始位置为 0 ,为负则从字符串结尾的指定位置开始参数length可选,字符串返回的长度,默认是直到字符串的结尾,为负则从字符串末端返回

    注意: 如果 start 是负数且 length 小于等于 start ,则 length 为 0。

    echo substr('abcdef', 1); //输出 bcdef echo substr('abcdef', 1, 2); //输出 bc echo substr('abcdef', -3, 2); //输出 de echo substr('abcdef', 1, -1); //输出 bcde

    strstr()

    类别说明函数strstr()语法string strstr ( string string, string needle )说明查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回 FALSE。参数string要处理的字符串参数needle要查找的字符串,如果是数字,则搜索匹配数字 ASCII 值的字符 <?php $email = 'user@qq.com'; $domain = strstr($email, '@'); echo $domain;// 输出 @qq.com ?>

    strrchr()

    类别说明函数strrchr()语法string strrchr (string string, string needle)说明查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回 FALSE。参数string要处理的字符串参数needle要查找的字符串,如果是数字,则搜索匹配数字 ASCII 值的字符 <?php $email = 'user@qq.com@QWQ'; $domain = strrchr($email,'@'); echo $domain;// 输出 @QWQ ?>

    字符串替换

    从字符串中替换指定字符串。

    substr_replace():把字符串的一部分替换为另一个字符串str_replace():使用一个字符串替换字符串中的另一些字符

    substr_replace()

    类别说明函数substr_replace()语法mix substr_replace (mixed string, string replacement, int start [, int length])说明把字符串的一部分替换为另一个字符串,返回混合类型。参数string要处理的字符串参数replacement要插入的字符串参数start字符串开始位置,起始位置为 0 ,为负则从字符串结尾的指定位置开始参数length可选,字符串返回的长度,默认是直到字符串的结尾,为负则从字符串末端返回 <?php echo substr_replace('abcdef', '###', 1); //输出 a### echo substr_replace('abcdef', '###', 1, 2); //输出 a###def echo substr_replace('abcdef', '###', -3, 2); //输出 abc###f echo substr_replace('abcdef', '###', 1, -2); //输出 a###ef ?>

    str_replace()

    类别说明函数str_replace()语法mixed str_replace(mixed search, mixed replace, mixed string [, int &count])说明使用一个字符串替换字符串中的另一些字符,返回混合类型。参数search要查找(被替换)的字符串参数replace要替换 search 的字符串参数string要处理的字符串参数count可选,一个对替换计数的变量 <?php echo str_replace("world","earth","Hello world!").'</br>'; //输出 Hello earth! //替换多个,且第二个参数为空字符 echo str_replace("o","","Hello world!"); //输出 Hell wrld! //使用数组 $arr = array("e", "o"); $arr2 = array("x", "y"); echo str_replace($arr, $arr2, "Hello World for you", $i); //输出Hxlly Wyrld fyr yyu echo $i;// 5 ?>

    字符串计算

    计算字符串的长度或定位字符串出现的位置。

    strlen():取得字符串的长度strpos():定位字符串第一次出现的位置strrpos():定位字符串最后一次出现的位置

    字符串格式化显示

    将字符串格式化为适合网页显示的格式。

    nl2br():将换行符\n 转换成 HTML 换行符 <br />。htmlspecialchars():把一些特殊字符转换为 HTML 实体。htmlspecialchars_decode()`:把一些 HTML 实体转换为特殊字符, htmlspecialchars() 的反函数。

    特殊字符与html实体转换表

    <?php echo htmlspecialchars('<a href="test">Test</a>'); // 输出 <a href="test">Test</a> ?>

    网页源代码为

    &lt;a href=&quot;test&quot;&gt;Test&lt;/a&gt;gt;

    字符串存储(转义)

    PHP 的字符串向数据库进行写入时,为避免数据库错误,需要对特殊字符进行转义。

    addslashes() 函数用于对特殊字符加上转义字符,返回一个字符串。stripslashes() 该函数为 addslashes() 的反函数,返回一个字符串。 <?php <?php $str = "it's a apple"; echo $str; // 输出 it's a apple echo addslashes($str); // 输出 it\'s a apple $stristr = "it\'s a apple"; echo stripslashes($stristr);// 输出 it's a apple ?> ?>

    提示 默认情况下,PHP 指令 magic_quotes_gpc 为 on,系统会对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes() 。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes() ,因为这样会导致双层转义。可以对 get_magic_quotes_gpc() 进行检测以便确定是否需要使用 addslashes() :

    <?php if (!get_magic_quotes_gpc()) { $lastname = addslashes($_POST['lastname']); } else { $lastname = $_POST['lastname']; } echo $lastname; ?>

    注:本文乃本人学习笔记,难免有所纰漏,仅供参考。

    转载请注明原文地址: https://ju.6miu.com/read-150362.html

    最新回复(0)