JS PHP字符串截取函数实现原理解析


Posted in Javascript onAugust 29, 2020

js有三个:slice() substring() substr()

一般都用substr(start,length),第一个参数是开始位置的下标 必须,可以为负数,下标-1 是指字符串中最后一个字符,下标-2 是指倒数第二个字符,以此类推;第二个参数是要截取子串的长度 可选,截取的方向都是从左往右,不会改变。

截取出来的子串包含起始位置自己

PS:字符串的索引都从0开始计起

. 空格都是字符

substring(from,until) slice(from,until)都是从一个索引截取到另一个索引,只有当参数为负数时,他们不一样,需要强调的一点:子串不包括“until”索引值的元素

substring(0) slice(0) slice()都是截取整个字符串,无意义

substring的from必写

php:

1.substr(源字符串,起始位置,[长度])-截取字符串返回部分字符串

<?php
$str ="phpddt.com";
echo substr($str,2);//pddt.com
echo substr($str,2,3);//pdd
echo substr($str,-2);//om 负数从结尾开始取
?>

但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节。解决办法如下:

2.mb_substr(),使用方法和substr相同

不过要开启php.ini里面extension=php_mbstring.dll扩展,不用担心,一般的空间商都会开启这个扩展的。

<?php
echo mb_substr("php点点通",1,3,"UTF-8");//hp点
?>

代码如下:

substr(string,start,length)

  • 其中start的参数
  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
Oct 14 Javascript
jQuery插件实现控制网页元素动态居中显示
Mar 24 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
Vue.js每天必学之表单控件绑定
Sep 05 Javascript
使用AngularJS2中的指令实现按钮的切换效果
Mar 27 Javascript
javascript 中模板方法单例的实现方法
Oct 17 Javascript
从理论角度讨论JavaScript闭包
Apr 03 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
详解js中的几种常用设计模式
Jul 16 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 Javascript
JS访问对象两种方式区别解析
Aug 29 #Javascript
js在HTML的三种引用方式详解
Aug 29 #Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 #Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 #Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 #jQuery
Node在Controller层进行数据校验的过程详解
Aug 28 #Javascript
Postman无法正常返回结果问题解决
Aug 28 #Javascript
You might like
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
Vue异步加载about组件
2017/10/31 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
造型师求职自荐信
2013/09/27 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
应届生求职信
2014/05/31 职场文书
新农村建设典型材料
2014/05/31 职场文书
高考励志标语
2014/06/05 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
2015年话务员工作总结
2015/04/29 职场文书
仓库管理制度范本
2015/08/04 职场文书