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和CSS实现文本隔行换色的方法
Nov 04 Javascript
jquery实现图片预加载
Dec 25 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
JavaScript常用判断写法大全(推荐)
May 30 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
Aug 24 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
vue2笔记 — vue-router路由懒加载的实现
Mar 03 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 Javascript
vue2.0 循环遍历加载不同图片的方法
Mar 06 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 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页面中文乱码分析
2013/10/29 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
javascript数组详解
2014/10/22 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
jquery获得当前html页面源码的方法
2015/07/14 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
Python Sleep休眠函数使用简单实例
2015/02/02 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
金融专业个人求职信
2013/09/22 职场文书
商务日语毕业生自荐信
2013/11/23 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
在校学生证明格式
2015/06/24 职场文书
大学班干部竞选稿
2015/11/20 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL