简单描述:

substr 主要用于字符串的截取,但是不适用于中文字符串,易出现乱码,中文字符串可使用mbstring。

方法申明:

substr(string,start,length)

string:必需。需要被截取的字符串。

start:必需。规定在字符串的何处开始。

  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾开始的指定位置开始
  • 0 - 在字符串中的第一个字符处开始

length:可选。规定被返回字符串的长度。默认是直到字符串的结尾。

  • 正数 - 从 start 参数所在的位置返回的长度
  • 负数 - 从字符串末端返回的长度

返回值:返回字符串的提取部分,若失败则返回 FALSE,或者返回一个空字符串。

使用实例:

例子 1

使用带有不同正负数的 start 参数:正代表从左到右,负代表从右到左数

<?php
echo substr("Hello world",10)."<br>"; //d
echo substr("Hello world",1)."<br>"; //ello world
echo substr("Hello world",3)."<br>"; //lo world
echo substr("Hello world",7)."<br>"; //orld echo substr("Hello world",-1)."<br>"; //d
echo substr("Hello world",-10)."<br>"; //ello world
echo substr("Hello world",-8)."<br>"; //lo world
echo substr("Hello world",-4)."<br>"; //orld
?>

例子 2

使用带有不同正负数的 start 和 length 参数:

<?php
echo substr("Hello world",0,10)."<br>"; //Hello worl
echo substr("Hello world",1,8)."<br>"; //ello wor
echo substr("Hello world",0,5)."<br>"; //Hello
echo substr("Hello world",6,6)."<br>"; //world length超出总长度没关系,相当于截取的最后 echo substr("Hello world",0,-1)."<br>"; //Hello worl
echo substr("Hello world",-10,-2)."<br>"; //ello wor
echo substr("Hello world",0,-6)."<br>"; //Hello
echo substr("Hello world",-4,-3)."<br>"; //o
?>

两个参数都是负数,实在好难理解,一般还是不要这么用了。

去掉头部字符可以用:substr("Hello world",2);

去掉尾部字符可以用:substr("Hello world",0,-2);

去掉两头可以用:substr("Hello world",2,-2);

截取固定长度:substr("Hello world",2,2);

个人独立博客:

http://blog.wxp123.me/p/36

PHP方法之 substr的更多相关文章

  1. js 字符串截取 substring() 方法、 substr() 方法、slice() 方法、split() 、join();

    三种 js 截取字符串的方法: substring() 方法: substr() 方法: slice() 方法: 1.:substring() 方法:string.substring(from, to ...

  2. JavaScript取子串方法slice,substr,substring对比表

    在程序语言中,字符串可以说是最常用的一种类型,而在程序中对字符串的操作也是十分频繁.当程序语言自带多种字符串操作的方法时,用该语言编程程序时就有很多的便利性,提高开发的效率.但是当方法过多,甚至目的相 ...

  3. slice,substr和substring方法的区别

    slice(start[,end])方法需要提供至少一个整数参数,作用是返回从start的位置开始到end位置的字符子串.当参数start为负数的时候他将从字符串尾部开始计算,当end没有指定时,en ...

  4. JavaScript:substr vs substring vs slice

    参考文章: JavaScript取子串方法slice,substr,substring对比表

  5. 判断字符串中是否包含指定的内容&&字符串截取方法比较说明

    1.使用indexOf()方法 方法说明: 作用:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置(从前向后查找). 语法:stringObject.indexOf(searc ...

  6. substr函数用法详解

    substr(string, start<,length>):从string的start位置开始提取字符串 length:要提取字符串的长度,若length为以下任意条件之一时,返回sta ...

  7. php截取中文字符串无乱码的方法

    利用php内置方法mb_substr截取中文不乱码,使用起来非常简单 <?php $str = '我喜欢laravel or yii2'; echo mb_substr($str, 0, 1, ...

  8. 【前端】js截取or分割字符串的常见方法

    1.截取字符串 分割字符串方法 1.charAt(): 没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串 例如:var str="Hello world!&quo ...

  9. JavaScript的String对象的属性和方法

    ---恢复内容开始--- 属性: length              字符串的长度 prototype         字符串的原型对象 constructor       字符串的构造函数,会返 ...

随机推荐

  1. 条件运算符?:接受三个操作数,是C#中唯一的三元运算符(转)

    int i = 10; int j = i == 10 ? 1 : 2; //转换成if选择结果如下 if (i == 10) { j = 1; } else { j = 2; } 需要根据还可以嵌套 ...

  2. form表单提交转为ajax方式提交

    <form action="xxx" method="get"> //action的值是请求的url地址 <div class="f ...

  3. HDU6299(2018多校第一场)

    Bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6299 两个字符串的排序可以分成四种情况: (1)str1左少右多 vs str2 左多右 ...

  4. dubbo与springboot的三种整合方式

    SpringBoot与dubbo整合的三种方式:1.导入dubbo-starter,在application.properties配置属性,使用@Service暴露服务,使用@Reference引用服 ...

  5. 再看SpringMVC通过一个DispatcherServlet处理Servlet

    初始入口: org.springframework.web.context.ContextLoaderListener org.springframework.web.context.ContextL ...

  6. 查看Windows激活信息

    使用 Windows + R组合快捷键打开运行命令框 1.运行: slmgr.vbs -dlv 可以查询到Win10的激活信息,包括:激活ID.安装ID.激活截止日期等信息. 2.运行: slmgr. ...

  7. FZU 1977 Pandora adventure (插头DP,常规)

    题意:有一个n*m矩阵,其中有些格子必走,有些格子不可走,其他格子是可走也可不走,问有多少条哈密顿回路? 思路: 本来是一道很简单的题,代码写多了连白痴bug都查不出了,竟然用i>=ex& ...

  8. VM中python2.7运行skier游戏,shell重启问题!!!!!!

    在虚拟机win7系统python2.7,在该python中运行了 父与子中的skier游戏(代码手写), 出现如下问题: ================ RESTART: C:\Python27\S ...

  9. CloudFoundry命令行和Kubernetes命令行的Restful API消费方式

    先说CloudFoundry的命令行工具CLI.我们在CloudFoundry环境下工作,第一个使用的命令就是cf login. 如果在环境变量里维护CF_TRACE的值为true: 则我们能发现,诸 ...

  10. Scroller 界面滑动

    Scroller 滑动之后滑动器子标签里面的控件,其自身是不动的.这里点在下面的进阶会体现出来.  1. 继承LinearLayout, 相对布局也可以. public class MyLinearL ...