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 相关文章推荐
sina的lightbox效果。
Jan 09 Javascript
jQuery中校验时间格式的正则表达式小结
Sep 22 Javascript
jquery 操作iframe的几种方法总结
Dec 13 Javascript
基于jquery和svg实现超炫酷的动画特效
Dec 09 Javascript
调试JavaScript中正则表达式中遇到的问题
Jan 27 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
Feb 14 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
Vue中的验证登录状态的实现方法
Mar 09 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 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
php函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
QQ登录简单实现代码
2021/03/09 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
JS 控件事件小结
2012/10/31 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
vue axios数据请求及vue中使用axios的方法
2018/09/10 Javascript
jQuery实现的图片点击放大缩小功能案例
2020/01/02 jQuery
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
python按键按住不放持续响应的实例代码
2019/07/17 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
建筑设计学生的自我评价
2014/01/16 职场文书
意向协议书范本
2014/04/23 职场文书
工作评语大全
2014/04/26 职场文书
商铺消防安全责任书
2014/07/29 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
Python闭包的定义和使用方法
2022/04/11 Python