下面小编就为大家带来一篇关于PHP内置的字符串处理函数详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
字符串的特点
1. 其他类型的数据用在字符串类型处理函数中,会自动将其转化成字符串后,在处理
<?php echo substr("abcdefghijklmn",2,4),"<br>"; //cdef //使用数字会自动转化为字符串 echo substr(123456,2,4); //3456 ?>
2. 可以将字符串视为数组,当做字符集合来看待
<?php $str="abcdefg"; //下面这两种方法都可以输出想要的字符 echo $str[2]."<br>"; //但是为了区分数组我们常用下面一种 echo $str{2}."<br>"; ?>
强大的内置的字符串处理函数
1. 常用的字符串输出函数
echo()
print()
die()----exit()
printf() 格式化字符串
sprintf() 返回格式化的字符串
2. 常用的字符串格式化函数
去掉字符
ltrim(); 去掉左边的字符串(默认去掉空格)
rtrim(); 去掉右边的字符串
trim(); 去掉两边的字符串
<?php $str=" abc "; echo strlen($str)."<br>"; echo strlen(ltrim($str))."<br>"; echo strlen(rtrim($str))."<br>"; echo strlen(trim($str))."<br>"; $str1="123This is Test"; //第二个参数指定要删除的字符(串) echo ltrim($str1,'1')."<br>"; //删除所有的数字 0..9表示范围 echo ltrim($str1,'0..9')."<br>"; ?>
添加字符串
str_pad(); 添加字符串(默认在右边添加)
<?php $str="hello"; //默认从右边补充 echo str_pad($str,10,"@")."<br>"; //两边补充 echo str_pad($str,10,"@",STR_PAD_BOTH)."<br>"; //从左边补充 echo str_pad($str,10,"@",STR_PAD_LEFT)."<br>"; ?>
大小写转换
strtolower(); 所有的字符都转化成小写
strtoupper(); 所有的字符都转化成大写
ucfirst(); 首字母转化成大写
ucword(); 每个单词首字母转成大写
<?php $str="My name is TOM!"; echo strtoupper($str)."<br>"; echo strtolower($str)."<br>"; echo ucfirst($str)."<br>"; echo ucwords($str)."<br>"; ?>
和HTML标签有关的字符串格式化
nl2br(); 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (df250b2156c434f3390392d09b1c9563)。
htmlentities(); 函数把字符转换为 HTML 实体。
htmllspeciachars(); 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
""(双引号) 成为 "
''(单引号) 成为 '
9443d23cc73486ed82d08f1d984916e9 (大于) 成为 >
stripslashes(); 函数删除由 addslashes() 函数添加的反斜杠。
addslashes() 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
单引号 (')
双引号 (")
反斜杠 (\)
NULL
strip_tags(); 函数剥去 HTML、XML 以及 PHP 的标签。
<form> input:<input type="text" name="str" size="100"> <input type="submit" name="sub" value="提交"> <br> </form> <?php echo $_GET["str"]."<br>"; //函数把字符转换为 HTML 实体。 echo htmlentities($_GET["str"],ENT_NOQUOTES)."<br>"; //函数把一些预定义的字符转换为 HTML 实体。 echo htmlspecialchars($_GET["str"])."<br>"; //去掉由addslashes()函数加的 \ echo stripslashes($_GET["str"])."<br>"; //结合使用 echo htmlentities(stripslashes($_GET["str"]))."<br>"; // 函数剥去 HTML、XML 以及 PHP 的标签。 echo strip_tags($_GET["str"])."<br>"; ?>
number_format(); 函数通过千位分组来格式化数字。
<?php $a=1000000.12345; echo $a."<br>"; echo number_format($a)."<br>"; //小数点保留三位,千分位用“,”隔开,小数点用“.” echo number_format($a,3,'.',',')."<br>"; ?>
strrev(); 函数反转字符串
<?php $str="Hello World!"; echo $str."<br>"; echo strrev($str)."<br>"; ?>
md5();
函数计算字符串的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。
如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
<?php $pass="1234#!_56"; if(md5($pass)=="a8affa3d7aca3a35a39f674e1e5f0cc7") echo "Ok!"; ?>
md5_file();
函数计算文件的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。
如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
3.字符串比较函数
strcmp(); 函数比较两个字符串。
0 - 如果两个字符串相等
a6b9cc46ad9ec641b86c82c8b1b411f80 - 如果 string1 大于 string2
strcasecmp();
strnatcmp();
<?php $str1="abcd"; $str2="abcd"; if(strcmp($str1,$str2)==0){ echo '$str1=$str2'; }elseif(strcmp(str1,$str2)>0){ echo '$str1>$str2'; }else{ echo '$str1<$str2'; } ?>