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 相关文章推荐
js几个验证函数代码
Mar 25 Javascript
javascript showModalDialog 内跳转页面的问题
Nov 25 Javascript
基于Jquery的动态创建DOM元素的代码
Dec 28 Javascript
jquery offset函数应用实例
Nov 14 Javascript
关于火狐(firefox)及ie下event获取的两种方法
Dec 27 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
Sep 11 Javascript
angular 内存溢出的问题解决
Jul 12 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
几种显示数据的方法的比较
2006/10/09 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
新浪的图片新闻效果
2007/01/13 Javascript
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
angularJS 入门基础
2015/02/09 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
python WindowsError的错误代码详解
2017/07/23 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
大学活动总结格式
2014/04/29 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
Java基础——Map集合
2022/04/01 Java/Android
Hive导入csv文件示例
2022/06/25 数据库