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 相关文章推荐
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
BootStrap 可编辑表Table格
Nov 24 Javascript
js实现一键复制功能
Mar 16 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 Javascript
Javascript之高级数组API的使用实例
Mar 08 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
JS对象属性的检测与获取操作实例分析
Mar 17 Javascript
微信小程序实现滚动Tab选项卡
Nov 16 Javascript
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
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中调用JAVA
2006/10/09 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
python 解析html之BeautifulSoup
2009/07/07 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python提取频域特征知识点浅析
2019/03/04 Python
Python单元和文档测试实例详解
2019/04/11 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
希特勒的演讲稿
2014/05/23 职场文书
信访工作经验交流材料
2014/05/23 职场文书
卖房协议书样本
2014/10/30 职场文书
初中体育教学随笔
2015/08/15 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript