在PHP中有一项非常重要的技术,就是截取指定字符串中指定长度的字符。PHP对于字符串截取可以使用PHP预定义函数substr()函数来实现。下面就来介绍一下substr()函数的语法及其应用。

substr()函数语法格式如下:大理石平台厂家

1

substr(string, start, length);

substr()函数参数说明如下:

参 数 说 明
string 指定字符串对象
start 指定开始截取字符串的位置。如果参数start为负数,则从字符串的末尾开始截取
length 可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符

说明:

start的指定位置是从0开始计算的,即字符串中的第一个字符的位置表示为0。

start 为正数据从左向右读取字符

start 为负数时就右向左读取字符

length 默认是直到字符串的结尾,正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始。

使用substr()函数截取字符串中指定长度的字符,实例的代码如下:

1

2

3

4

5

6

7

8

9

<?php

  echo substr("abcdefg",0);              //从第0个字符开始截取

  echo "<br>";

  echo substr("abcdefg",2,4);             //从第2个字符开始连续截取4个字符

  echo "<br>";

  echo substr("abcdefg",-4,2);             //从倒数第4个字符开始截取2个字符

  echo "<br>";

  echo substr("abcdefg",0,-4);             //从第0个字符开始截取,截取到倒数第4个字符

?>

输出结果为:

1

2

3

4

abcdefg

cdef

de

abc

在开发一些web程序时,为了保持整个页面的合理布局,经常需要对于一些超长的文本,只要求显示其中的部分信息。下面来通过具体的实例讲解一下其实现的方法。

使用substr()函数截取超长文本的部分字符串信息,剩余的部分使用"....."来代替,示例代码如下:

1

2

3

4

5

6

7

8

<?php

   $str="沪深证券交易所已发布“高送转”信息披露指引,实施“刨根问底”问询,开展对“高送转”内幕交易核查联动,集中查办了一批借“高送转”之名从事内幕交易或信息披露违规案件。";

  if(strlen($str)>30){                    //如果文本的字符串长度大于30

      echo substr($str,0,30). "....";          //输出文本的前30个字节,然后输出省略号

      }else{                           

        echo $str;                   // 如果文本的字符串长度小于30,直接输出原文本

 }

?>

输出结果为:

1

沪深证券交易所已发布....

说明:从指定的字符串中按照指定的位置截取一定长度的字符。通过substr()函数可以获取某个固定格式字符串中的一部分。

注意: 使用substr()函数在截取字符串时,如果截取的字符串个数是奇数,那么就会导致截取的中文字符串出现乱码,所以substr()函数适用于对英文字符串的截取,如果想要对中文字符串进行截取,而且要避免出现乱码,最好的方法就是应用substr()函数编写一个自定义函数。

以上就是PHP截取字符串函数substr()函数实例用法详解的详细内容

PHP截取字符串函数substr()函数实例用法详解的更多相关文章

  1. js replace 与replaceall实例用法详解

    这篇文章介绍了js replace 与replaceall实例用法详解,有需要的朋友可以参考一下stringObj.replace(rgExp, replaceText) 参数 stringObj 必 ...

  2. Python 字符串、列表和元组用法详解

    1.通用函数 len() #列表的元素个数.字符串的长度 2.''' '''与'\ '用法详解 s='''this is a text ''' -->输出s ---> 'this\nis\ ...

  3. SQL Server 中截取字符串常用的函数

    SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要 ...

  4. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  5. eval()函数用法详解

    eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...

  6. 转载 LayoutInflater的inflate函数用法详解

    http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...

  7. C语言对文件的操作函数用法详解2

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const  ...

  8. C语言对文件的操作函数用法详解1

    在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...

  9. WordPress函数:get_bloginfo()用法详解

    描述 返回你博客的信息,这些信息可以用在任何地方的 PHP 代码中.这个函数,和 bloginfo() 一样,可以用来在模板文件的任何地方显示你博客的信息. 用法 <?php $bloginfo ...

随机推荐

  1. Python学习之路:通过分片的方式修改列表的技巧(拓展知识)

    一.为列表添加值 用分片的方式可以在列表的头部和尾部添加值 1.在列表的头部添加值 x = [1, 2, 3] #创建列表x x[:0] = [0] #用分片的方式在列表头部添加值 print(x) ...

  2. count_if 功能模板

    count_if 功能模板 template <class InputIterator, class UnaryPredicate> typename iterator_traits< ...

  3. 【LEETCODE】65、字符分类,medium&easy级别,题目:20、647、3

    今天的字符类还比较简单 package y2019.Algorithm.str.easy; import java.util.HashMap; import java.util.Map; import ...

  4. 线程池及Executor框架

    1.为什么要使用线程池? ​ 诸如 Web 服务器.数据库服务器.文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务.请求以某种方式到达服务器,这种方式可能是通过 ...

  5. ZooKeeper学习笔记(二)——内部原理

    zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...

  6. Android.mk简介:

    Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解 ...

  7. [转]Go语言string,int,int64 ,float之间类型转换方法

    1 正文 (1)int转string s := strconv.Itoa(i) 等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string i := ...

  8. Idea创建一个SpringBoot工程

    1.打开Idea,点击新建工程 File—New—Project 2.点击下一步后可能会很一直在请求,或者直接报如下错误, 解决办法:直接点OK后再点Previous返回上一步,继续重新Next 3. ...

  9. AVI文件格式

    AVI文件采用的是RIFF文件结构方式.波形音频wave,MIDI和数字视频AVI都采用这种格式存储. AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块(Chunk),每个数据块包 ...

  10. SqlDataSource控件超时的困惑

      想用最简单的SqlDataSource控件完成对一个记录数很多的表的查询操作,结果出现超时异常,找了些解决方法都不奏效,后来在www.codeproject.com查到高手也放弃了用控件的方法,于 ...