PHP教程之php简复杂单弄定中英文混排字符串截取,...
理解动态语言的概念,运做机制,熟悉PHP语法提到中英文混排计数、截取,人人起首想到的是ascii、16进制、正则婚配、轮回计数。明天我给人人分享的是php的mb扩大,教你怎样轻松处置字符串。先给人人先容用到的函数:mb_strwidth($str,$encoding)前往字符串的宽度$str要盘算的字符串$encoding要利用的编码,如utf8、gbkmb_strimwidth($str,$start,$width,$tail,$encoding)按宽度截取字符串$str要截取的字符串$start从哪一个地位入手下手截取,默许是0$width要截取的宽度$tail追加到截取字符串后边的字符串,经常使用的是...$encoding要利用的编码下边给人人实例演示:复制代码<?php/***utf8编码格局*1其中文占用3个字节*我们但愿的是1其中文占用2个字节,*由于从宽度上看2个英笔墨母占用的地位相称于1其中文*///测试字符串$str=aaaa啊啊aaaa啊啊啊aaa;echostrlen($str);//只用strlen输入为25个字节//必需指定编码,否则会利用php的内码mb_internal_encoding()能够检察内码//利用mb_strwidth输入字符串的宽度为20利用utf8编码echomb_strwidth($str,utf8);//只要宽度年夜于10才截取if(mb_strwidth($str,utf8)>10){//此处设定从0入手下手截取,取10个追加...,利用utf8编码//注重追加的...也会被盘算到长度以内$str=mb_strimwidth($str,0,10,...,utf8);}//最初输入aaaa啊...4个a算4个1个啊算2个3个点算3个4+2+3=9//是否是很复杂啊,有的人说了为何是9个不是10个吗?//由于恰好“啊”的后边仍是“啊”,中文算2个,9+2=11超越了设定,以是往失落1个就是9了echo$str;复制代码下边再给人人先容一些别的函数吧:mb_strlen($str,$encoding)前往字符串的长度$str要盘算的字符串$encoding利用的编码mb_substr($str,$start,$length,$encoding)截取字符串$str要截取的字符串$start从那里入手下手截取$length截取多长$encoding利用的编码实在这2个函数和strlen()、substr()很像,独一的分歧就是能够设定编码。下边上实例:复制代码<?php/***utf8编码格局*1其中文占用3个字节*/$str=aa12啊aa;echostrlen($str);//间接输入长度为9//输入长度为7,为何是7呢?//注重这里设定编码今后,不论是中文仍是英文每一个长度都为1//aa12啊aa//1+1+1+1+1+1+1=7//是否是恰好7个字符啊echomb_strlen($str,utf8);//一样mb_substr也是一样的//我如今只想要5个字符echomb_substr($str,0,5,utf8);//输入aa12啊复制代码会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦! 实践是检验自己会不会的真理。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 Ps:以上纯属原创,如有雷同,纯属巧合 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
页:
[1]