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()接收两个参数,是按照给出的分隔符来分割字符串,并将结果返回到一个数字索引型的字符串里面。还有一个可选参数是用来限制分成字符串小块的数量
~php
$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]);
返回的结果是一个数组集合,第一个参数是正则表达式,第二个是字符串,第三个可选的是进入数组的个数。

php字符串操作的更多相关文章

  1. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  2. shell编程常用的截取字符串操作

    1.          常用的字符串操作 1.1.           替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...

  3. php字符串操作集锦

    web操作, 主要就是对字符文本信息进行处理, 所以, 字符串操作几乎占了很大一部分的php操作.包括 注意strstr 和 strtr的区别? 前者表示字符串查找返回字符串,后者表示字符串中字符替换 ...

  4. java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  5. [No000078]Python3 字符串操作

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- '''Python 字符串操作 string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分 ...

  6. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  7. C语言字符串操作总结大全

    1)字符串操作 strcpy(p, p1)  复制字符串  函数原型strncpy(p, p1, n)   复制指定长度字符串  函数原型strcat(p, p1)   附加字符串  函数原型strn ...

  8. c# 字符串操作

    一.字符串操作 //字符串转数组 string mystring="this is a string" char[] mychars=mystring.ToCharArray(); ...

  9. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

  10. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

随机推荐

  1. TLS/HTTPS 证书生成与验证

    最近在研究基于ssl的传输加密,涉及到了key和证书相关的话题,走了不少弯路,现在总结一下做个备忘 科普:TLS.SSL.HTTPS以及证书 不少人可能听过其中的超过3个名词,但它们究竟有什么关联呢? ...

  2. ES6,扩展运算符的用途

    ES6的扩展运算符可以说是非常使用的,在给多参数函数传参,替代Apply,合并数组,和解构配合进行赋值方面提供了很好的便利性. 扩展运算符就是三个点“...”,就是将实现了Iterator 接口的对象 ...

  3. 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试

    <软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序   创建测试用例以及测试结果存储  执行T-SQL脚本  使用BCP工具导入测试用例数据  ...

  4. mysql 5.7 学习

    MySQL5.7 添加用户.删除用户与授权   mysql -uroot -proot MySQL5.7 mysql.user表没有password字段改 authentication_string: ...

  5. 机器学习&深度学习基础(目录)

    从业这么久了,做了很多项目,一直对机器学习的基础课程鄙视已久,现在回头看来,系统的基础知识整理对我现在思路的整理很有利,写完这个基础篇,开始把AI+cv的也总结完,然后把这么多年做的项目再写好总结. ...

  6. hdoj:2032

    #include <iostream> #include <string> using namespace std; int main() { int n; ][]; ; i ...

  7. 在Android 5.0中使用JobScheduler(转载)

    翻译见:http://blog.csdn.net/bboyfeiyu/article/details/44809395 In this tutorial, you will learn how to ...

  8. linux 防火墙 ufw使用

    ufw是ubuntu是默认的防火墙配置工具,相对于iptables,ufw使用更加简单 ufw基本操作   1 []是代表可选内容,需要root权限 ufw [--dry-run] enable|di ...

  9. Matlab如何循环读取文件

    循环读取图片第一种方法①List =dir('*.jpg'); %如需其它图片格式支持,可以自己[重载dir()]函数,实现查找所有图片文件的功能,%如果图片是其它路径,可以用 ["路径&q ...

  10. msyql同步的时候报错 : 错误代码: 1293 Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

    场景,两个不同服务器上的数据库,进行数据库同步 但是执行之后,提示报错 错误代码: 1293 Incorrect table definition; there can be only one TIM ...