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 相关文章推荐
javascript 有趣而诡异的数组
Apr 06 Javascript
Javascript 面试题随笔
Mar 31 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
Bootstrap Table使用整理(五)之分页组合查询
Jun 09 Javascript
Express下采用bcryptjs进行密码加密的方法
Feb 07 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
mpvue开发音频类小程序踩坑和建议详解
Mar 12 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
May 05 Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
有关php运算符的知识大全
2011/11/03 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
python热力图实现简单方法
2021/01/29 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
党课学习思想汇报
2014/01/02 职场文书
高中军训广播稿
2014/01/14 职场文书
司机辞职报告范文
2014/01/20 职场文书
安全承诺书
2015/01/19 职场文书