php常用字符串函数小结

php内置了98个字符串函数(除了基于正则表达式的函数,正则表达式在此不在讨论范围),能够处理字符串中能遇到的每一个方面内容,本文对常用字符串函数进行简单的小结,主要包含以下8部分:1.确定字符串长度、2.比较字符串、3.分割连接反转、4.html与字符串相互转化、5.填充和剔除字符串、6.统计字符和单词个数、7.查找替换截取、8.大小写处理。



  1. addcslashes  为字符串里面的部分字符添加反斜线转义字符
  2. addslashes  用指定的方式对字符串里面的字符进行转义
  3. bin2hex  将二进制数据转换成十六进制表示
  4. chop  rtrim() 的别名函数
  5. chr  返回一个字符的ASCII
  6. chunk_split  按一定的字符长度将字符串分割成小块
  7. convert_cyr_string  将斯拉夫语字符转换为别的字符
  8. convert_uudecode  解密一个字符串
  9. convert_uuencode  加密一个字符串
  10. count_chars  返回一个字符串里面的字符使用信息
  11. crc32  计算一个字符串的crc32多项式
  12. crypt  单向散列加密函数
  13. echo  用以显示一些内容
  14. explode  将一个字符串用分割符转变为一数组形式
  15. fprintf  按照要求对数据进行返回,并直接写入文档流
  16. get_html_translation_table  返回可以转换的HTML实体
  17. hebrev  Hebrew编码的字符串转换为可视的文本
  18. hebrevc  Hebrew编码的字符串转换为可视的文本
  19. html_entity_decode  htmlentities ()函数的反函数,将HTML实体转换为字符
  20. htmlentities  将字符串中一些字符转换为HTML实体
  21. htmlspecialchars_decode htmlspecialchars()函数的反函数,将HTML实体转换为字符
  22. htmlspecialchars  将字符串中一些字符转换为HTML实体
  23. implode  将数组用特定的分割符转变为字符串
  24. join  将数组转变为字符串,implode()函数的别名
  25. levenshtein  计算两个词的差别大小
  26. localeconv  获取数字相关的格式定义
  27. ltrim  去除字符串左侧的空白或者指定的字符
  28. md5_file  将一个文件进行MD5算法加密
  29. md5  将一个字符串进行MD5算法加密
  30. metaphone  判断一个字符串的发音规则
  31. money_format  按照参数对数字进行格式化的输出
  32. nl_langinfo  查询语言和本地信息
  33. nl2br  将字符串中的换行符“\n”替换成“<br/>”
  34. number_format  按照参数对数字进行格式化的输出
  35. ord  将一个ASCII码转换为一个字符
  36. parse_str  把一定格式的字符串转变为变量和值
  37. print  用以输出一个单独的值
  38. printf  按照要求对数据进行显示
  39. quoted_printable_decode  将一个字符串加密为一个8位的二进制字符串
  40. quotemeta  对若干个特定字符进行转义
  41. rtrim  去除字符串右侧的空白或者指定的字符
  42. setlocale  设置关于数字,日期等等的本地格式
  43. sha1_file  将一个文件进行SHA1算法加密
  44. sha1  将一个字符串进行SHA1算法加密
  45. similar_text  比较两个字符串,返回系统认为的相似字符个数
  46. soundex  判断一个字符串的发音规则
  47. sprintf  按照要求对数据进行返回,但是不输出
  48. sscanf  可以对字符串进行格式化
  49. str_ireplace  str_replace()函数一样匹配和替换字符串,但是不区分大小写
  50. str_pad  对字符串进行两侧的补白
  51. str_repeat  对字符串进行重复组合
  52. str_replace  匹配和替换字符串
  53. str_rot13  将字符串进行ROT13加密处理
  54. str_shuffle  对一个字符串里面的字符进行随机排序
  55. str_split  将一个字符串按照字符间距分割为一个数组
  56. str_word_count  获取字符串里面的英文单词信息
  57. strcasecmp  对字符串进行大小比较,不区分大小写
  58. strchr  通过比较返回一个字符串的部分strstr()函数的别名
  59. strcmp  对字符串进行大小比较
  60. strcoll  根据本地设置对字符串进行大小比较
  61. strcspn  返回字符连续非匹配长度的值
  62. strip_tags  去除一个字符串里面的HTMLPHP代码
  63. stripcslashes  反转义addcslashes()函数转义处理过的字符串
  64. stripos  查找并返回首个匹配项的位置,匹配不区分大小写
  65. stripslashes  反转义addslashes()函数转义处理过的字符串
  66. stristr  通过比较返回一个字符串的部分,比较时不区分大小写
  67. strlen  获取一个字符串的编码长度
  68. strnatcasecmp  使用自然排序法对字符串进行大小比较,不区分大小写
  69. strnatcmp  使用自然排序法对字符串进行大小比较
  70. strncasecmp  对字符串的前N个字符进行大小比较,不区分大小写
  71. strncmp  对字符串的前N个字符进行大小比较
  72. strpbrk  通过比较返回一个字符串的部分
  73. strpos  查找并返回首个匹配项的位置
  74. strrchr  通过从后往前比较返回一个字符串的部分
  75. strrev  将字符串里面的所有字母反向排列
  76. strripos  从后往前查找并返回首个匹配项的位置,匹配不区分大小写
  77. strrpos  从后往前查找并返回首个匹配项的位置
  78. strspn  匹配并返回字符连续出现长度的值
  79. strstr  通过比较返回一个字符串的部分
  80. strtok  用指定的若干个字符来分割字符串
  81. strtolower  将字符串转变为小写
  82. strtoupper –将字符串转变为大写
  83. strtr  对字符串比较替换
  84. substr_compare  对字符串进行截取后的比较
  85. substr_count  计算字符串中某字符段的出现次数
  86. substr_replace  对字符串中的部分字符进行替换
  87. substr  对字符串进行截取
  88. trim  去除字符串两边的空白或者指定的字符
  89. ucfirst  将所给字符串的第一个字母转换为大写
  90. ucwords  将所给字符串的每一个英文单词的第一个字母变成大写
  91. vfprintf  按照要求对数据进行返回,并直接写入文档流
  92. vprintf  按照要求对数据进行显示
  93. vsprintf  按照要求对数据进行返回,但是不输出
  94. wordwrap  按照一定的字符长度分割字符串

确定字符串长度

strlen函数和mb_strlen函数,后者需要开启mbstring扩展

<?php 
    header('content-type:text/html;charset=utf-8');
    $str = 'abcdef';
    echo strlen($str); // 6
    echo "<br/>";
    $str = ' ab cd ';
    echo mb_strlen($str); // 7
    echo "<br/>";
    //strlen 是计算字符串"字节"长度 
    //mb_strlen,是根据编码,计算字符串的"字符"个数. 

    $str='中华人民共和国';
    echo "字节长度是".strlen($str);//在 UTF-8编码下,一个汉字占3个字节 在gbk中一个汉字占2个字节
    echo "<br/>";
    echo "字符长度是".mb_strlen($str,'utf-8');
 ?>

比较字符串

strcmp函数、strcasecmp函数、strspn函数、strcspn函数

<?php 
    $pwd="userpwd";
    $pwd2="Userpwd";
    //区分大小写
    if (strcmp($pwd, $pwd2) !=0) {
        echo "password do not match";
    } else{
        echo "password match";
    }

    $email1="www.baidu.com";
    $email2="WWW.BAIDU.COM";
    //不区分大小写
    if (!strcasecmp($email1, $email2)) {
        echo "ok",'<br>';
    }
    //求两个字符串相同的部分
    $password="1233345";
    if (strspn($password,"1234567890")==strlen($password)) {
        echo "the password connot consist solely of numbers";
    }
    //
    $password="a12345";
    if (strcspn($password, "1234567890")==0) {
        echo "the password connot consist solely of numbers";
    }
    
 ?>

分割连接反转

str_split函数、split函数、explode函数和implode函数

<?php 
header('content-type:text/html;charset=utf-8');
    $str = "Hello Friend";

    $arr1 = str_split($str);
    print_r($arr1);

    $arr2 = str_split($str, 3);
    print_r($arr2);

    $str = 'abc,中国,美国,日本'; 
    // explode,是根据指定的分割符,把字符串拆成数组. 
    $arr = explode(',',$str); 
    print_r($arr); 
    // implode,是根据指定的连接符,把数组再拼接成字符串 
    $arr = explode(',',$str); 
    echo implode('~',$arr),'<br />'; 
    // 你可以只传一个数组做参数,不指定连接符, 
    // 这样,将把数组单元直接拼接起来 
    echo implode($arr);

 ?>

html与字符串相互转化

htmlspecialchars函数、strip_tags函数、get_html_translation_table函数和addcslashes函数和htmlentities函数

<?php 

    $str = "hello ', world"; 
    echo $str,'<br />';
    echo $str= addslashes($str),'<br />';
    echo stripslashes($str),'<br />';
    $str = '<ab>'; 
    echo $str,'<br />'; 
    echo htmlspecialchars($str); 
    echo "</br>";
    $str="Email <a href='admin@qq.com'>example@qq.com</a>";
    echo strip_tags($str);

 ?>

填充和剔除字符串

trim函数、ltrim函数、rtrim函数、str_pad函数、chunk_split函数

<?php 
    $str = '12345678'; 
    echo chunk_split($str,3,',');
    echo "<br>";
    $text   = "\t\tThese are a few words :) ...  ";
    echo trim($text);
    echo "<br>";
    echo ltrim($text,'\t'),'<br>';
    echo rtrim($text,'\r'),'<br>';
    echo str_pad('apple', 6)."is good.";
 ?>

统计字符和单词个数

count_chars函数和str_word_count

<?php 
    $data = "Two Ts and one F.";

    foreach (count_chars($data, 1) as $i => $val) {
       echo "There were $val instance(s) of \"" , chr($i) , "\" in the string.\n";
    }

    echo "<hr>";
    $str = "Hello fri3nd, you're looking good today!";

    print_r(str_word_count($str, 1));

 ?>

查找替换截取

strpos函数、str_replace函数、substr_replace函数、substr函数、strstr函数

<?php 
    $substr = "index.html";
    $log = <<< logfile
    192.168.1.11:/www/htdocs/index.html:[2016/08/10:21:58:27]
    192.168.1.11:/www/htdocs/index.html:[2016/08/18:01:51:37]
    192.168.1.11:/www/htdocs/index.html:[2016/08/20:11:48:27]
logfile;

    $pos =strpos($log, $substr);
    $pos2=strpos($log,"\n",$pos);
    $pos=$pos+strlen($substr)+1;
    $timestamp=substr($log,$pos,$pos2-$pos);
    echo "The file $substr was first accessed on:$timestamp";
    echo "<br>";
    $author="lester@example.com";
    $author=str_replace("@", "at", $author);
    echo "connect the author of this article at $author";
    echo "<br>";
    echo ltrim(strstr($author,"@"), "@");

 ?>

大小写处理

strtolower函数、strtoupper函数、ucfirst函数、ucwords函数

<?php 
    $url="http://WWWW.BAIDU.COM";
    echo strtolower($url),'<br>';
    $str="hello world";
    echo strtoupper($str),'<br>';
    $str="php is the most popular language ";
    echo ucfirst($str),'<br>';
    echo ucwords($str);
 ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值