zoukankan      html  css  js  c++  java
  • php字符串操作

    1.字符串的格式化

    按照从表单提交数据之后,php处理的不同:接受,显示,存储。也有三种类型的格式化方法。

    1.1字符串的接收之后的整理: trim(),ltrim(),rtrim()

    当数据从表单中上传上来的时候需要对字符串整理一下,去掉字符串前后的空格或者其他字符。
    ** trim()就是去掉字符串前后的空格、制表符、换行符等等。
    ** ltrim()
    去掉左边的,就是清理开头那一端
    ** rtrim()**去掉右边的,就是结尾那一端的
    $name = trim($_POST['name']);

    1.2格式化字符串以便显示

    ** 1.使用HTML格式化:nl2br()**
    接收字符串作为参数,将字符串中的换行符更改为HTML中的
    ,便于在网站页面中显示
    ** 2.改变字符串中的字母大小写**
    ** strtoupper()将字符串转换为大写
    ** stroutlower
    将字符串转换为小写
    ** ucfirst()如果字符串的第一个字符是字母,就将该字符大写
    ** ucwords
    将字符串中的每个单词的第一个字母转换为大写
    ** 3.格式化字符串以便存储:addslashes()**
    数据库有时候会把字符串李米娜的引号,反斜杠,NULL字符当做是控制字符,这样会导致向数据库中存储数据失败。这种情况可以使用转义符来转义,也可以使用我们的转义字符串的函数
    例如使用addslashes()函数:
    $feedback = addslashes(trim($_POST['feedback']));

    2.字符串的链接和分割

    我们会经常从字符串中提取出想要的字符串,以及添加一些字符串。以下就是一些常用的方法函数
    ** 2.1使用函数explode()、implode()、join()**
    ** explode()**接收两个参数,是按照给出的分隔符来分割字符串,并将结果返回到一个数字索引型的字符串里面。还有一个可选参数是用来限制分成字符串小块的数量

    $email = ghoaishg@163.com;
    $email_array = explode('@', $email);
    

    $email_array就是一个数字索引型的字符串,可以通过索引获得自己想要的。
    ** implode()和join()**的作用和explode()完全相反,是从数组中获取数组元素来组成一个新的字符串。接收的第一个参数是你想要用来连接这些元素的分割符,第二个参数是一个数组操作对象,返回结果是一个字符串
    2.2使用strtok()函数
    同explode()的方法差不多,将字符串按照给定的分隔符来分割,不同之处在于srttok()函数每次只会返回被分隔的一部分,一般可以跟while语句连用。这个函数的特点是每次只返回一个
    2.3使用substr()函数
    这个函数是用来截取字符串中的一部分长度的,接收两个参数分别是:需要操作的字符串和开始截取的位置。第三个参数是可选参数,用来限定截取的长度的。
    第二个参数也可以是负数,负数表示从字符串的末尾向前数
    substr($test, -9);

    3.字符串的比较

    3.1字符串的排序:strcmp(),strcasecmp(),strnatcmp()
    这三个函数都是比较两个字符串大小的。来看函数原型
    int strcmp(string str1, string str2);
    接受两个参数,分别是str1和str2,按照字典的顺序进行比较,如果str1比str2大(即str1在str2后面)则返回1,相等返回0,这个函数区分大小写。
    strcasecmp()用法相同,在strcmp()的基础上增加不再区分大小写。
    strnatcmp()函数在strcasecmp()的基础上增加按照自然顺序比较,所以这个函数是不去分大小写,且按照人们的习惯进行排序的。
    使用strlen()函数测试字符串的长度
    这个函数可以用来测试数组的长度,也可以用来测试字符串的长度

    4.使用字符串函数匹配和替换字符串

    判别是否有特定字符串,并得到字符串的位置,还可以该字符串进行替换
    4.1在字符串中查找字符串:strstr()、strchr()、strrchr()、stristr()
    上面几个函数的作用是:在一个字符串中查找另一个字符串,php中strchr和strstr是完全一样的。
    strstr()函数原型
    string strstr(string str1,string needle);
    接受两个参数,第一个是目标字符串,第二个是要查找的关键字。
    返回第一个匹配的关键字,如果不存在就返回false.
    该函数是区分大小写的,如果向不区分大小写,可以使用stristr()
    strrchr用法相同,只不过会返回最后一个匹配的关键字。
    4.2查找字符串的位置:strpos(),strrpos()
    strpos的作用也是用来子一个字符串中查找关键字,但是却不是返回关键字,而是返回关键字开始的位置。函数原型如下:
    int strpos(strinig haystack, string needle, int[offset]);
    第一个参数是要被查找的字符串,第二个是关键字。第三个是可选的参数,表示从字符串的哪一个位置开始查找。
    strrpos()用法相同,只不过返回的是最后一个匹配的位置。
    4.3替换字符串:str_replace()、substr_replace()
    这两个字符串的作用很大,可以将查找的字符串进行替换。
    mixed str_replace(mixed needle, mixed new_needle, mixed haystack [, int & count]);
    参数分别为:需要查找的关键字,用于替换的关键字,字符串操作对象,一个可选的操作次数
    substr_replace()的作用是用关键字将字符串的指定位置给替换掉。
    string substr_replace(string string ,string replacement, int start, int[length])
    接受的参数为:字符串操作对象,需要替换的关键字,开始替换的位置和一个可选的参数为从开始到结束的长度。
    4.4用正则表达式查找字符串:ereg()、eregi()
    此函数是用正则表达式来查找字符串中查找,看看有没有匹配,函数原型为:
    int ereg(string pattern, string search, array[matches]);
    第一个参数是正则表达式,第二个是字符串操作对象,可选的第三个是用来保存保存匹配的字符串,因为经常会有好几个匹配。
    eregi()函数跟上面是一样的,只是不再区分大小写。
    4.5用正则表示达替换字符串
    使用函数str_replace()函数
    4.6使用正则表达式分割字符串
    这个也是比较使用的功能,使用的是split()函数
    array split(string pattern, string search[, int max]);
    返回的结果是一个数组集合,第一个参数是正则表达式,第二个是字符串,第三个可选的是进入数组的个数。

  • 相关阅读:
    How To Build CyanogenMod Android for smartphone
    CentOS安装Code::Blocks
    How to Dual boot Multiple ROMs on Your Android SmartPhone (Upto Five Roms)?
    Audacious——Linux音乐播放器
    How to Dual Boot Multiple ROMs on Your Android Phone
    Everything You Need to Know About Rooting Your Android Phone
    How to Flash a ROM to Your Android Phone
    什么是NANDroid,如何加载NANDroid备份?
    Have you considered compiled a batman-adv.ko for android?
    BATMAN—Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.)
  • 原文地址:https://www.cnblogs.com/cenyu/p/6528384.html
Copyright © 2011-2022 走看看