字符串与正则表达式.ppt
《字符串与正则表达式.ppt》由会员分享,可在线阅读,更多相关《字符串与正则表达式.ppt(51页珍藏版)》请在三一办公上搜索。
1、字符串与正则表达式,本章内容,字符串处理正则表达式正则表达式的Web验证应用,字符串处理,1.获取字符串长度获取字符串长度是字符串处理技术中非常重要的一项,通过其可以获取到指定字符串的长度,从而实现其他更多的功能。该技术通过strlen()函数来实现。语法:int strlen(string str)参数str为指定的字符串。例子:获取字符串长度,字符串处理,2.字符串的连接和分割字符串的连接与分割是非常重要的两个内容,通过其可以将数组按照指定的规则转换成字符串,也可以将字符串按照指定的规则进行分割,返回一个数组。其应用范围很广,这两项技术的实现主要通过implode()和explode()函
2、数来完成。1.implode()函数implode()函数将一个数组按照指定的规则转换成一个字符串。使用本函数可以将表单中提交的数组数据转换成字符串形式进行存储。如果要将数组中的内容以字符串的形式进行输出,则使用该函数是最好的选择。语法:string implode(string glue,array pieces),字符串处理,本函数将数组pieces中的元素按照字符串glue进行连接,返回一个新字符串。注意:join()函数是implode()函数的别名例子:字符串的连接2.explode()函数explode()函数按照指定的规则对一个字符串进行分割,返回值为数组。使用该函数可以将指定字
3、符串中的内容按照某个规则进行分类存储,进而实现更多的功能。语法:array explode(string separator,string str,int limit),字符串处理,参数separator:必要参数,指定的分割符。如果separator为空字符串(“”),explode()将返回false,如果separator所包含的值在str中找不到,那么explode()将返回包含str单个元素的数组。参数str:必要参数指定将要被进行分割的字符串。参数limit:可选参数,如果设置了limit参数,则返回的数组包含最多limit个元素,而最后那个元素将包含string的剩余部分;如果l
4、imit参数是负数,则返回除了最后的limit个元素外的所有元素例子:字符串的分割例子:explode函数的应用(生成复选框),字符串处理,3.字符串大小写转换在PHP中字符串大小写的转换也是一项不可忽视的技术,通过该技术可以实现字符串大小写的统一,可以规范字符串的写作风格。实现该技术主要通过以下几个函数:Strtoupper()函数将指定的字符串转换成大写,返回值为这个字符串的大写形式。语法:string strtoupper(string str)参数str为指定的字符串。例子:将指定的字符串转换成大写,字符串处理,ucfirst()函数将指定字符串的第一个字符转换成大写,并返回首字符大写
5、的字符串。语法:string ucfirst(string str)参数str为指定的字符串例子:将指定字符串中的首字符转换成大写,并且输出该字符串strtolower()函数将指定的字符都转换成小写。例子:将指定字符串中的首字符转换成小写,并且输出该字符串,字符串处理,ucwords()函数将指定字符串中每个单词的首字母都转换成大写。例子:将指定字符串中的每个单词的首字母都转换成大写,并且输出该字符串,字符串处理,4.HTML实体的处理html中的特殊字符是通过实体代码转换的。例如:“”的实体代码是“”等。函数htmlentities()可以转换所有的非ASCII码字符成对应的实体代码。例子
6、:htmlentities()函数的使用范例函数htmlentities()原型如下:string htmlentities(string$string,int$quote_style,string$charset)参数$charset用于指定所处理字符串$string的字符集,默认的字符集是“ISO8859-1”。PHP也支持更多的HTML字符集,如:UTF-8、gb2312、BIG5等,字符串处理,参数$quote_style决定引号的转换方式。默认值ENT_COMPAT将只转换双引号,而保留单引号;ENT_QUOTES将同时转换这两种引号;ENT_NOQUOTES将不对引号进行转换。,字
7、符串处理,PHP中还提供了htmlspecialchars()函数,用以转换一些特殊字符。以下是htmlspecialchars()函数能够转换的字符。“”,字符串处理,htmlspecialchars()函数具有和htmlentities()函数相同的参数列表。其对引号的转换规则也是相同的,可以使用相同的字符集。例子:htmlspecialchars()函数的使用,字符串处理,5.去除字符串中的空格在php中,针对字符串存在的空格,可以通过去除字符串中空格的技术将空格去除。但是,即使应用了去除空格的技术,从表面很难看出区别,只有在通过获取字符串的长度进行比较后才能看出明显的区别。trim()
8、函数可以删除字符串前后的空白字符,还可以对字符串中的指定字符进行删除的操作。可以说该函数有两种功能:去除空格和删除字符串中指定的字符。语法:string trim(string str,string character_mask)参数str是必要参数,指定要操作的字符串;参数character_mask为可选参数,为要从指定的字符串中删除的特定字符(即所谓的空白字符)。0空值、t制表符、n新行、x0B垂直制表符、r回车、”空格例子:去除字符串中的空格,字符串处理,还有两个函数:rtrim()函数去除字符串右边的空格,ltrim()函数去除字符串左边的空格。,字符串处理,6.确定字符串中字符和单
9、词的数量在PHP中,有一种技术可以获取字符串中字符和单词数量,通过该技术可以查看到指定字符或者单词在字符串中出现的次数,而且还可以应用到论坛、博客或者聊天室的信息发布模块中,判断提交的信息中是否含有非法关键字。实现该技术主要通过substr_conunt()函数。该函数获取指定字符在字符串中出现的次数。从表面上看该函数的功能就是获取指定字符在字符串中出现的次数,输出的只是一个数字,但是在实际的运用中,只要对输出的数字加以判断后,就能够实现不同的功能。语法:int substr_count(string haystack,string needle)参数haystack是指定的字符串,参数nee
10、dle为指定的字符。例子:判断发布的信息是否含有指定的关键字。如果该函数的返回值大于0,则信息中有指定的关键字,弹出提示对话框;否则信息中没有指定的关键字,输出“数据添加成功!”,字符串处理,7.定位字符顾名思义,就是获取指定字符在字符串中的位置,也就是说是获取字符串A在字符串B中出现的位置。在PHP中,针对字符串定位技术也提供多个函数。strpos函数获取指定字符串(A)在字符串(B)中首次出现的位置。返回值为字符串所在的位置,如果失败则返回false。语法:int strpos(string haystack,string needle,int offset)参数haystack:指定从哪
11、个字符串中开始检索字符串参数needle:指定要检索的字符串参数offset:指定从字符串的哪一位开始检索例子:获取指定的字符在字符串中首次出现的位置,字符串处理,strrpos()函数获取指定字符串(A)在另一个字符串(B)中最后一次出现的位置,返回结果为指定字符出现的位置,失败则返回false。同样该函数返回的是一个数字,不是子字符串。和strpos相同都是返回从左向右数字符的位置,区别是strpos从左向右找该字符第一次出现的位置,而strrpos是从右向左找该字符第一次出现的位置。语法:int strrpos(string haystack,string needle)参数haysta
12、ck是指定的字符串B参数needle是指定的字符串A例子:获取I在变量$str中最后出现的位置如果不区分大小写可以使用函数stripos()和strripos(),字符串处理,8.访问字符串中的字符使用上面的函数,就可以对字符串做很多基本的操作了,如访问字符串中的字符等。此外,在PHP中还可以直接在字符串变量后面使用“”操作符,通过字符的偏移量对其进行直接操作。例子:取得字符例子:反序排列字符串,字符串处理,9.加入和去除反斜杠在用PHP编程的过程中,经常会遇到这样的问题,将数据插入到数据库中时可能引起一些问题。出现错误或者乱码等,因为数据库将传入的数据中的字符解释成控制符。针对这样的问题,就
13、需要使用一种标记或者是转义这些特殊的字符。因此,在PHP语言中提供专门处理这些问题的技术,加入和去除字符串中的反斜杠技术。addcslashes()函数实现对指定字符串中的字符进行转义,即在指定的字符前加上反斜杠“”。通过该函数可以将要添加到数据库中的字符串进行转义,从而避免出现乱码等问题。语法:string addcslashes(string str,string charlist),字符串处理,参数str为将要被操作的字符串;参数charlist指定在字符串中的哪些字符前加上反斜杠“”。例子:利用addcslashes()函数对指定字符串中的字符进行转义,对指定范围中的字符进行转义,对其
14、他非字母数字进行转义。,字符串处理,10.填充、删除和截取字符串在PHP中,有一项非常重要的技术,就是截取指定字符串中指定长度的字符,可以通过函数substr()来实现。至于填充和删除字符串的技术,相对于截取字符串而言应用的就少一些。但是也是需要掌握的技术,其中填充技术通过str_pad()函数来实现,而删除技术已经在前面介绍过了,可以使用去除字符串中的空格技术实现。substr()函数从指定的字符串中按照指定的位置截取一定长度的字符。通过该函数可以获取某个固定格式字符串的一部分,如果使用一个正数作为子字符串起点来调用这个函数,将得到从起点到字符串结束的这个字符串;如果使用一个负数作为子字符串
15、起点来调用,将得到一个原字符串尾部的一个子字符串,字符个数等于给定负数的绝对值。,字符串处理,语法:string substr(string str,int start,int length)参数str:指定字符串对象参数start:指定开始截取字符串的位置。如果参数start为负数,则从字符串的末尾开始截取参数length:可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符注意:本函数中参数start的指定位置是从0开始计算的,即字符串中的第一个字符表示为0。例子:字符串的截取,字符串处理,str_pad()函数将指定字符串填充成指定长度的字符串。通过该
16、函数可以将指定的字符串以某个指定的字符填充成指定的长度,并且可以控制填充的位置,从字符串前、后或者两端同时开始。语法:string str_pad(string input,int pad_length,string pad_string,int pad_type)参数input:指定被填充的字符串参数pad_length:字符串被填充的长度。如果pad_length的值是负数或是小于输入字符串的长度时,则不会填充。参数pad_string:可选参数,如果没有该参数,则应用空白将参数input填充;否则,应用pad_string填充到指定的长度。参数pad_type:参数pad_type可以是
17、STR_PAD_RIGHT(表示从右侧开始填充)、STR_PAD_LEFT(表示从左侧开始填充)、STR_PAD_BOTH(表示从两端开始填充),默认为STR_PAD_RIGHT例子:str_pad()函数应用实例,字符串处理,11.字符串的比较在PHP中,对字符串之间进行比较的应用也是非常广泛的,比较的方法也很多,不但可以按照字节进行比较,而且可以按照自然排序法进行比较,还有字符串的模糊比较。其中最常用的就是按字节进行字符串的比较,使用该技术可以对用户登录时的用户名和密码进行判断,检查其输入的是否正确。按字节进行字符串的比较strcmp()函数语法:int strcmp(string str
18、1,string str2)参数str1和参数str2指定要比较的两个字符串。如果相等返回0;如果参数str1大于参数str2返回大于0;反之返回小于0。注意:本函数区分大小写。例子:应用strcmp()函数比较用户登录系统中输入的用户名和密码是否正确。,字符串处理,按自然排序法进行字符串的比较在PHP中,通过strnatcmp()函数来实现自然排序的。自然排序法比较的是字符串中的数字部分,将字符串中的数字按照大小进行排序。语法:int strnatcmp(string str1,string str2)如果字符串相等则返回0,如果参数str1大于参数str2则返回值大于0,反之返回值小于0。
19、注意:本函数是区分大小写的。注意:在自然运算中,2比10小。在计算机序列中,10比2小,因为“10”中的第一个数字是“1”,小于“2”。用前面的strcmp()函数比较“10”和“2”的时候,是2大。说明:针对自然运算法进行比较,还有一个与strnatcmp()函数相同,但是不区分大小写的strnatcasecmp()函数,他的作用和strnatcmp()函数相同。例子:应用strnatcmp()函数进行字符串的比较,字符串处理,12.字符串的查找和替换在PHP中,提供很多应用于字符串的查找和替换的函数,PHP也可以像word那样实现对字符串的查找和替换的功能。这里针对字符串的查找和替换的技术
20、介绍几种实现的方法。、字符串的查找strstr()函数:获取指定字符串(A)在另一个字符串(B)中首次出现的位置到后者末尾的子字符串。本函数区分字母大小写。语法:string strstr(string haystack,string needle)参数haystack为指定将要被搜索的字符串;参数needle为指定将要搜索的内容,如果该参数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。例子:利用strstr()函数在网站中搜索有关“水”的商品信息,字符串处理,strrchr()函数:
21、获取指定字符串(A)在另一个字符串(B)中最后一次出现的位置。本函数区分字母大小写。语法:string strrchr(string haystack,string needle)参数haystack:为指定被搜索的对象字符串(B)参数needle:为指定搜索的内容字符串(A)。返回从字符串(B)中的这个位置起,一直到字符串(B)结束的所有字符;如果失败则返回false。例子:应用strrchr()函数获取指定字符在字符串中最后出现的位置到字符串最后的所有字符字符串的替换str_ireplace()函数:将指定的字符串替换为另外一个指定的字符串。本函数不区分大小写。该函数最适合应用到搜索引擎中
22、的关键字描红中。语法:mixed str_ireplace(mixed search,mixed replace,mixed subject,int&count)将所有在参数subject中出现的参数search以参数replace取代,参数&count表示取代字符串执行的次数。,字符串处理,参数search:必要参数,指定需要查找的字符串参数replace:必要参数,指定替换的值参数subject:必要参数,指定查找的范围参数count:可选参数,获取执行替换的数量例子:应用str_ireplace()函数对查询的关键字进行描红。str_replace()函数使用新的子字符串替换原始字符串中
23、被指定要替换的字符串。该函数的使用方法和str_ireplace()函数是相同的,唯一的区别就是str_replace()函数区分字母大小写。语法:1.string str_replace(string$search,string$replace,string$string)2.string str_replace(array$search,string$replace,string$string)3.string str_replace(array$search,array$replace,string$string),字符串处理,在第一种用法中,$search和$replace都是字符串,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符串 正则 表达式
链接地址:https://www.31ppt.com/p-5957334.html