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

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

需知:

  • 中文字符在gbk编码下为2个字符,utf-8下为3个字符
  • 中文字符的ASCII值是从0xa0后开始的
  • 通过ord()函数可以返回字符串中第一个字符的ASCII值,chr()函数作用相反

方法:

function GBsubstr($string, $start, $length) {if(strlen($string)>$length){$str=null;$len=$start+$length;for($i=$start;$i<$len;$i++){if(ord(substr($string,$i,1))>0xa0){//判断字符的ascii值$str.=substr($string,$i,2);$i++;}else{$str.=substr($string,$i,1);}}return $str;}else{return $string;}
}

或者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue --- 全局注册子组件,并导入全局的子组件

假设: 需要一个评论的模块comment由于comment在多个页面中可能会复用.于是创建一个comment.vue 步骤: 创建comment.vue在需要引用的位置使import comment from ../subcomponent/Comment.vue 导入子组件在Vue实例中使用components属性注册注册的规则: “comment-box” : comm…

7. 反转整数

7. 反转整数 描述 给定一个 32 位有符号整数&#xff0c;将整数中的数字进行反转。 示例 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储 32 位有符号整数&#xff0c;其数值范围是 [−2^31, 2^31 − 1]…

Laravel框架中的路由和控制器

路由 简介&#xff1a; 将用户的请求转发给相应的程序进行处理作用&#xff1a;建立url和程序之间的映射请求类型&#xff1a;get、post、put、patch、delete目录&#xff1a;app/http/routes.php基本路由&#xff1a;接收单种请求类型 //get请求 Route::get(hello1,function(…

小朋友学C++(1)

Hello World! 在学C之前&#xff0c;最好先学习一下C语言 让我们先运行一段简单的代码&#xff0c;编译器可以使用 在线C编译器 或 Xcode(苹果系统) 或Dev C&#xff08;Windows系统&#xff09;。 #include <iostream> using namespace std; int main() { cout <<…

mysql_表_操作

1、创建表 # 基本语法&#xff1a; create table 表名(列名 类型 是否可以为空 默认值 自增 主键&#xff0c;列名 类型 是否可以为空 )ENGINEInnoDB DEFAULT CHARSETutf8not null # 不可以为空 default 1 # 默认值为1 auto_increment # 自增 primary …

css --- 手机端,留言模块的样式

效果如下: 代码: 说明:用到了mint-ui,需要先安装mt-button的导入: import { Button } from ‘mint-ui’mt-button的使用: Vue.component(Button.name, Button)更多 http://mint-ui.github.io/ // comment.vue <template><div class"comment-container">…

Laravel 中的 视图和模型

视图 简介&#xff1a;视图包含了应用程序渲染的HTML数据&#xff0c;并将应用程序的显示逻辑与控制逻辑有效的分离开。在Laravel中&#xff0c;视图被保存在resources/views目录中。 php //数组中的内容可以表示在视图中调用数组&#xff0c;可以用echo $name得到name的值 …

BCZM : 1.13

Nim转载于:https://www.cnblogs.com/noryes/p/8640630.html

yii多表查询--学习随笔

今天自己做一个小demo&#xff0c;为了不要冗余字段&#xff0c;需要进行多表联合查询、搜索 yii中&#xff0c;用model来映射数据库&#xff08;其实好多框架都是这么搞的&#xff09;&#xff0c;一个模型类通常有一个search模型类跟着一起 废话不多说了&#xff0c;首先&…

node --- 创建一个Socket服务器

流程: 会开发一个监听文件改变的应用然后客户端使用命令行工具(telnet)连接服务端服务端在监听到文件变化后,会发送数据给客户端 监听文件变化 node 的fs模块:watch方法用于监听文件的变化,可以在内存分配一个区域,来专门用于监听文件变化,并执行该区域内指定的回调函数 //…

Laravel中数据库的操作

查找数据库的三种方式 DB facade(原始查找)查询构造Eloquent ORM新建数据表 //示例表 create table if not exits student( ‘id’ int auto_increment primaary key, ‘name’ varchar(255) not null default “”comment’姓名’, ‘age’ tinyint usigned not null defa…

node --- 创建一个Socket客户端连接到服务器

描述: net.createrServer().listen(60300) 监听客户端访问net.connect({ port: 60300 }) 访问服务器 服务器: 一个很简单的监听文件改变的服务器每当监听的文件改变了,将信息通过json的格式传递给连接到的客户端 connection.write // 01、net-watcher.js use strict const …

Laravel中的Blade模版

Blade模版简介 Blade模版的好处&#xff1a; 模版继承&#xff08;template inheritance&#xff09;视图片段&#xff08;sections&#xff09;部分指令&#xff1a; extend(‘xxx’)为子页面指定所继承的页面布局模版section(‘xxx’)为子页面提供所继承的页面中指定的部分…

三元表达式,列表解析和生成器表达式

三元表达式 在以前&#xff0c;在诸如比较两个数大小的时候&#xff0c;通常的写法都是下面的样子 if x > y:print("the max is x") else:print("the max is y") 三元表达式的语法为&#xff1a; True if expression else False 现在可以个体三元表达式…

Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE table_nameADD COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间 ; --修改CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE table_nameMODIFY COLUMN CreateTime datetim…

css --- 圣杯布局

圣杯布局 左右固定宽度,中间自适应div:nth-child(1) section {display: flex;width: 60%;height: 150px;background-color: pink;margin: 0 auto; }section div:nth-child(1) {width: 100px;height: 150px;background-color: red; }section div:nth-child(2) {flex: 1;backgr…

FZU OJ:2230 翻翻棋

Problem 2230 翻翻棋Accept: 872 Submit: 2132Time Limit: 1000 mSec Memory Limit : 32768 KBProblem Description象棋翻翻棋&#xff08;暗棋&#xff09;中双方在4*8的格子中交战&#xff0c;有时候最后会只剩下帅和将。根据暗棋的规则&#xff0c;棋子只能上下左右移…

关于字符串比较时候出现的空指针问题的坑

比如说&#xff1a;String Tname driver.getTrueName(&#xff09;; 这个变量是从driver对象中取出的&#xff0c;但是你不知道这个值是空值null&#xff1b; 这个时候如果你这么写&#xff1a;Tname.equals("张三") 这个时候就会报空指针异常的 修改&#xff1a…

PHP 实现快速排序

首先了解快速排序的原理&#xff1a; 1、先取一个基值&#xff0c;用于每次的标准定位。 2、遍历数组&#xff0c;将大于基值的放到右边数组&#xff0c;小于的放到左边数组 3、将每次的左右数组和基值一起合并 代码实现&#xff1a; //快速排序 function quick_sort($arr…

css --- flex:n的解析

起步 效果如下: 在父元素中,将3个盒子平均分成了3等份代码如下: p span {flex: 1;background-color: lightcoral; }p span:nth-child(even) {border-right: 1px solid black;border-left: 1px solid black; }假设有3个子元素flex:1 的意思是,将剩余的宽度平均分成3份,然后该元…