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.它们比较的原理与其它语言的规则都是一样的。 (编辑:咸宁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |