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学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
2则自己编写的jQuery特效分享
Feb 26 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
原生js检测页面加载完毕的实例
Sep 11 Javascript
详解关于React-Router4.0跳转不置顶解决方案
May 10 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
Vue-CLI与Vuex使用方法实例分析
Jan 06 Javascript
JS array数组检测方式解析
May 19 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 文件缓存的性能测试
2010/04/25 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
Python实现FTP文件传输的实例
2019/07/07 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python print不能立即打印的解决方式
2020/02/19 Python
Django websocket原理及功能实现代码
2020/11/14 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
速比涛英国官网:Speedo英国
2019/07/15 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
普通大学毕业生自荐信范文
2014/02/23 职场文书
党建工作先进材料
2014/05/02 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
初中数学教学反思范文
2016/02/17 职场文书