关于PHP内置的字符串处理函数详解

5年以前  |  阅读数:1056 次  |  编程语言: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 换行符 (
)。

htmlentities(); 函数把字符转换为 HTML 实体。

htmllspeciachars(); 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:
& (和号) 成为 &
""(双引号) 成为 "
''(单引号) 成为 '
< (小于) 成为 <

(大于) 成为 >

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 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

0 - 如果 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';
    }
    ?>

以上这篇关于PHP内置的字符串处理函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例