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 XML数据显示为HTML一例
Dec 23 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
Dec 28 Javascript
js中创建对象的几种方式示例介绍
Jan 26 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
利用JS判断鼠标移入元素的方向
Dec 11 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
Feb 09 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
JS扁平化输出数组的2种方法解析
Sep 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
php无限极分类实现方法分析
2019/07/04 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
鼠标事件延时切换插件
2011/03/12 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
js控制frameSet示例
2013/09/10 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
python连接mysql实例分享
2016/10/09 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
python和php哪个容易学
2020/06/19 Python
美国高街时尚品牌:OASAP
2016/07/24 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
家长对孩子的评语
2014/04/18 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
销售竞赛活动方案
2014/08/23 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
Python机器学习之KNN近邻算法
2021/05/14 Python