php字符串截取

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 =

字符串函数总结

戏子无情 提交于 2020-03-31 21:45:18
//1.echo print_f exit die 输出 //2.explode 使用一个字符串分割另一个字符串 $a='a,b,c'; echo'<pre>'; var_dump(explode(',',$a)); echo'</pre>'; //3.implode 将一个一维数组的值转化为字符串 $arr=array('a','b','c'); echo implode(',', $arr);//a,b,c //4.trim 去除字符串两边空格 ltrim 去除字符串左边空格 rtrim去除字符串右边空格 $var = ' AB '; echo '#',trim($var),'#'; echo '<br/>'; echo '#',rtrim($var),'#'; echo '<br/>'; echo '#',ltrim($var),'#'; //5.md5,sha1加密函数 echo md5(123456); echo sha1(123456); //6.number_format 以千位分隔符方式格式化一个数字 echo number_format(1234567); //7.str_replace 字符串中的(某个用另一个)替换 str_ireplace 忽略大小写的字符串替换 $c='AaBbCc'; echo str_replace('a', '*',$c);//A

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整理

自闭症网瘾萝莉.ら 提交于 2020-03-27 14:58:16
1. include 和 require 的区别 加载失败的处理方式不同。引入不存在的文件时, include 会产生警告且脚本还会继续执行, require 则会导致一个致命性错误且脚本停止执行。 文件引用方式不同。 include() 执行时需要引用的文件每次都进行执行,并且可以有返回值, require() 只是单纯的文件替换,没有返回值 require 一般放在 PHP 文件的最前面,程序在执行前会先倒入所需要引用的文件; include 一般放在程序的控制流程中,当程序执行时碰到才会引用,简化程序的执行流程。 2.常用关键字 final :用于声明方法和类,修饰类时,该类不能被继承,修饰方法时,该方法不能被覆盖。 static :主要用来修饰成员变量以及成员方法,分别为静态变量和静态方法,通过类直接调用。 global :主要使用于函数内声明变量为全局变量,在函数内部可以使用外部变量。 global 声明的变量只是全局变量的一个同名引用, $GLOBALS 是全局变量本身。 this 、 self 、 parent : this 是指向当前对象的指针, self 是指向当前类的指针, parent 是指向当前父类的指针。 Trait :是为 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制

substr函数

让人想犯罪 __ 提交于 2020-03-27 04:26:08
string substr ( string $string , int $start [, int $length ] ) 参数 string 输入字符串。必须至少有一个字符。 start (正数,从左开始查,左一索引为0 , 负数从右开始查,又一索引为1) 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “ abcdef ” 中,在位置 0 的字符是 “ a ”,位置 2 的字符串是 “ c ” 等等。 如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。 如果 string 的长度小于 start ,将返回 FALSE 。 Example #1 使用负数 start <?php $rest = substr("abcdef", -1); // 返回 "f" $rest = substr("abcdef", -2); // 返回 "ef" $rest = substr("abcdef", -3, 1); // 返回 "d" ?> length (正数,从start开始最多包含的字符串数, 负数,截取时从string末尾漏掉length个字符串 如: substr('abcdef',1,2):bcd) 如果提供了正数的 length ,返回的字符串将从 start

PHP 常用函数

二次信任 提交于 2020-03-19 11:22:12
变量: var_dump($val) 、 print_r($val) //打印变量 serialize($val)、unserialize($val)//用于序列化对象或数组,并返回一个字符串 类型转换: (int),(bool),(float),(string),( array ),(object)($val); $b=(int)$ a; //把$a转换为整形 intval (), floatval (); strval () $b= intval ($ a);//获取$a中整形数值 类型 判断: empty() / isset() / unset() // isset函数用于检测变量为非null值; empty判断是否为"空",其中 空字符串、0、false都为真; is_bool /int/float/string/ array /object/resource/null() is_numberic();’ //判断是否为任何类型的数字或者数组字符串 is_callable (); //判断是否为有效函数名称 eg:is_int ($val); //判断 b是否为整形,返回bool值 字符串函数: strlen($str);//返回字符串长度 mb_strlen($str) 可以返回中文字符长度; strtolower($str);//字母转小写 strtoupper(

php常用加密函数和算法

♀尐吖头ヾ 提交于 2020-03-19 03:12:10
关键词: 不可逆: md5(); 计算字符串的 MD5 散列值 不可逆 默认返回32位的16进制 crypt(); 单向字符串散列 可以混淆盐值 不可逆 sha1(); 计算字符串的 sha1 散列值 默认返回值是一个 40 字符长度的十六进制数字。 不可逆 hash() hash($ago,$data); $ago是可以指定加密使用的哈希算法,例如:"md5","sha256","haval160,4" 等。$data是要加密的数据 不可逆 password_hash() – 对密码加密. $hash = password_hash($passwod, PASSWORD_DEFAULT); 现在PHP的官方都是推荐这种方式来加密用户的密码,很多流行的框架比如Laravel就是用的这种加密方式。 可逆: URL编码加密 urlencode() urldecode() url传递 保护特殊字符串使用 $str=" http://guojiadong.com?name= ".urlencode('guojiadong&123'); 可逆 Base64编码加密 base64_encode() base64_decode() base64加密本质上说就是把数据转换为ASCLL码 ,这会更有利于文件的传输,当然base64的作用在与文件的传输 可逆 PHP的openssl扩展

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正好相反