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 arguments.callee的应用代码
May 07 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
Dec 28 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
Bootstrap BootstrapDialog使用详解
Feb 17 Javascript
Bootstrap表单制作代码
Mar 17 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
angular4 共享服务在多个组件中数据通信的示例
Mar 30 Javascript
JS使用正则表达式提交页面验证的代码
Oct 16 Javascript
Openlayers实现距离面积测量
Sep 28 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实现的获取URL信息的类
2007/01/02 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php的sso单点登录实现方法
2015/01/08 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
为超链接加上disabled后的故事
2010/12/10 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
django中使用POST方法获取POST数据
2019/08/20 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
2016元旦晚会主持词
2015/07/01 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
JS 基本概念详细介绍
2021/10/16 Javascript