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(笔记)
Oct 06 Javascript
javascript 函数参数限制说明
Nov 19 Javascript
js截取字符串的两种方法及区别详解
Nov 05 Javascript
浅谈Javascript 数组与字典
Jan 29 Javascript
JavaScript获取表单内所有元素值的方法
Apr 02 Javascript
angular仿支付宝密码框输入效果
Mar 25 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
bootstrap弹出层的多种触发方式
May 10 Javascript
BootStrap selectpicker后台动态绑定数据的方法
Jul 28 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
详解小程序缓存插件(mrc)
Aug 17 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
2006/12/23 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
python通过函数属性实现全局变量的方法
2015/05/16 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python unittest单元测试框架总结
2018/09/08 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
python实现飞船大战
2020/04/24 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
关于圣诞节的广播稿
2014/01/26 职场文书
违纪检讨书2000字
2014/02/08 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
德劲DE1108畅想
2021/04/22 无线电
详解Java实践之建造者模式
2021/06/18 Java/Android
frg-100简单操作(设置)说明
2022/04/05 无线电
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android