php字符串长度

PHP字符串反转

孤者浪人 提交于 2020-04-07 13:13:34
PHP字符串反转 字符串其实不难, 只是得考虑中文问题 代码如下(中文字符串也可以) : public function reverseStr($str) { // 获取字符串长度 $len = mb_strlen($str); $res = ''; for($i = 1; $i <= $len; $i++){ // 从后往前每次获取一个字符 $word = mb_substr($str, -$i, 1); $res = $res.$word; } return $res; } ps: 1. php中的strrev() 函数可以直接字符串。但是如果字符串是中文的话,会出现乱码,所以很局限 2. 用此方法时,确保已经开启了扩展库:php_mbstring.dll (在php.ini文件中找到此行,去掉前面的分号就ok了) 来源: oschina 链接: https://my.oschina.net/u/940266/blog/750883

php中计算中文字符串长度、截取中文字符串

一个人想着一个人 提交于 2020-04-07 11:28:43
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理。在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启。当然,如果是用的自己的服务器,则只要在php.ini中开启即可。如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了。 以下几个函数用起来颇为顺手的。不过要知道,得在utf-8环境下使用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 header('Content-type:text/html;charset=utf-8'); /** * 可以统计中文字符串长度的函数 * @param $str 要计算长度的字符串 * @param $type 计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符 * */ function abslength($str) { if

几个支持中文的PHP字符串截取函数

给你一囗甜甜゛ 提交于 2020-04-07 10:55:24
字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了。 <?php function sysSubStr($string,$length,$append = false) { if(strlen($string) <= $length ) { return $string; } else { $i = 0; while ($i < $length) { $stringTMP = substr($string,$i,1); if ( ord($stringTMP) >=224 ) { $stringTMP = substr($string,$i,3); $i = $i + 3; } elseif( ord($stringTMP) >=192 ) { $stringTMP = substr($string,$i,2); $i = $i + 2; } else { $i = $i + 1; } $stringLast[] = $stringTMP; } $stringLast = implode("",$stringLast); if($append) { $stringLast .= "..."; } return $stringLast; } } $string =

php学习第二章:字符串处理函数(二)字符串查找、替换、截取等

两盒软妹~` 提交于 2020-03-31 21:45:04
1、字符串比较   (1)strcmp($str1,$str2) //比较两个字符串是否相等,当结果为0时表示相等,为1时表示第一个字符串大于第二个字符串,为-1是第一个字符串小于第二个字符串(这是大于和小于只是位置上的比较,在ascii码表中后面的字符大于前面的字符)     1 /** 2 * strcmp($str1, $str2) 比较两个字符串是否相等 3 * @param string $str1 第一个字符串 4 * @param string $str2 第二个字符串 5 */ 6 $str1 = 'hell'; 7 $str2 = 'ello'; 8 var_dump(strcmp($str1, $str2)); //输出1,因为两个字符串的首字母不同,比较首字母,h的位置在e后面,所以h比e大   (2)strncmp($str1, $str2, $length); //比较两个字符串截取指定长度的子串 1 /** 2 * strncmp($str, $str2, $len) 比较两个字符串从开头到指定长度的子串 3 * @param string $str1 第一个字符串 4 * @param string $str2 第二个字符串 5 * @param int $len 要截取的开头 6 */ 7 $str3 = 'my pleasure!'; 8

php字符串函数

时光总嘲笑我的痴心妄想 提交于 2020-03-27 15:22:03
字符串常用函数 获取字符串长度函数 /* * strlen函数 * int strlen($var) * 获取字符串或数字的长度 */ $a = 'hello, woRld'; $b = '王昭'; //utf8格式下,每个汉字3个字节长 $c = 1111; echo strlen($a),"\n", strlen($b), strlen($c), "\n"; 大小写转换函数 /* * string strtolower(string $str):字符串所有的字母转换为小写 * string strtoupper(string $str):字符串所有的字母转换为大写 * * string ucfirst(string $str):将字符串的首字母大写,其他字母不变 * string ucwords(string $str):将字符串中每个单词的首字母大写,其他字母不变 * */ $a = 'hello, world zhanGsan'; echo strtolower($a), "\n"; echo strtoupper($a), "\n"; echo ucfirst($a), "\n"; echo ucwords($a), "\n"; 字符串替换函数 //字符串替换函数 /* * str_replace($search, $replace, $str):实现字符串替换

PHP截断函数mb_substr()

夙愿已清 提交于 2020-03-27 04:36:47
在php中mb_substr()函数是用来截中文与英文的函数,可以方便快速的解决截取指定字符长度的问题 提示:mb_ substr 在于php中是默认不被支持的我们需要在在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到;extension=php_mbstring.dll把前面的;号去掉才可以使用mb_substr函数哦。 Function: mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处 $length,长度(注意,这个跟mb_strimwidth不同,1就代表一个中文字符) $encoding,编码,我设为 utf-8 例子: $str = '这样一来我的字符串就不会有乱码^_^'; echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); //结果:这样一来我的字 echo " "; echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); //结果:这样 ?> 来源: https://www.cnblogs.com/chinalorin/p/5828629.html

PHP中实现中文字串截取无乱码的方法

好久不见. 提交于 2020-03-18 00:52:11
在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节,英文为1个字节,而在UTF-8编码当中,一个中文可能占有2个或3个字节,英文或半角标点占1字节。 直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半。解决办法: 1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。 2、自己书写截取函数,但效率不如用mbstring扩展库来得高。 3、如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。 ============================= substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr()/mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。 举个例子: <?php echo mb

php中正则表达式详解

佐手、 提交于 2020-03-13 08:46:50
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及怎样使用逆向引用 匹配模式 php中怎样使用正则表达式 php中哪些方面需要用到正则 怎样进行邮箱匹配,url匹配,手机匹配 怎样使用正则替换字符串中某些字符 贪婪匹配与惰性匹配区别 正则表达式之回溯与固态分组 正则优缺点有哪些 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界。 “$” 表示行结尾 “^” 表示行开始如 "^de" ,表示以de开头的字符串 "de$" ,表示以de结尾的字符串。 单词定界符 我们在查找的一个单词的时候,如an是否在一个字符串”gril and body”中存在,很明显如果匹配的话,an肯定是可以匹配字符串“gril and body”匹配到,怎样才能让其匹配单词,而不是单词的一部分呢?这时候,我们可以是哟个单词定界符\b。 \ban\b 去匹配”gril and body”的话,就会提示匹配不到。 当然还有一个大写的\B,它的意思,和\b正好相反

php中正则表达式详解

巧了我就是萌 提交于 2020-03-13 06:24:14
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及怎样使用逆向引用 匹配模式 php中怎样使用正则表达式 php中哪些方面需要用到正则 怎样进行邮箱匹配,url匹配,手机匹配 怎样使用正则替换字符串中某些字符 贪婪匹配与惰性匹配区别 正则表达式之回溯与固态分组 正则优缺点有哪些 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界。 “$” 表示行结尾 “^” 表示行开始如 "^de" ,表示以de开头的字符串 "de$" ,表示以de结尾的字符串。 单词定界符 我们在查找的一个单词的时候,如an是否在一个字符串”gril and body”中存在,很明显如果匹配的话,an肯定是可以匹配字符串“gril and body”匹配到,怎样才能让其匹配单词,而不是单词的一部分呢?这时候,我们可以是哟个单词定界符\b。 \ban\b 去匹配”gril and body”的话,就会提示匹配不到。 当然还有一个大写的\B,它的意思,和\b正好相反

php函数之字符串篇String

余生长醉 提交于 2020-03-12 19:05:43
---------------关于字符串------------------ stristr(str,search) 查询字符串str中search第一次出现的地方,并从返回从匹配点开始到str结束的字符串。对字符的大 小写不敏感,查不到则返回false. strstr(str,search) 方法同上,区别:大小写敏感。 strtoupper(str) 将str转换成大写(英文字符) str_repeat(str,repeat) 将str字符重复repeat次 strpos(str,search,start) 查找search在str中第一次出现的位置,返回位置下标。找不到则返回false. sprintf(format,arg1,arg2,...,argn) 用argn 代替 format字符 串中第n个的%s strip_tags(string,allow) 检查并去除字符串string除allow(可选)标签外的标签(html script css等 ) trim(str,charlist) 去掉字符串str两端的空格以及charlist(可选)预定义字符 substr(str,start,len) 返回字符串str从start开始的长度为len的字符串 old(str) 返回字符串第一个字符的ascii码 serialize(value) 对value序列化