字符串截取在php开发中是比较常用的;
而且对于截取的需求也有很多种;
就比如说对url链接的操作:http://baijunyao.com/article/12

有时我们想截取最后一个斜杠'/'后面的数字;
有时我们又需要截取第一个斜杠'/'前面的内容判断用户输入的url链接带不带http://等等;

字符串的截取php内置函数就有很多种;
简单示例如下;

 $str='123/456/789/abc';

截取第一个斜杠前面的内容可以这样来:

 echo substr($str,0,strpos($str, '/'))
或者
 $array=explode('/', $str);
echo $array[0];
// 输出 123

截取第一个斜杠后面的内容可以这样来:

echo trim(strrchr($str, '/'),'/');
如果知道斜杠的数量
 $array=explode('/', $str);
echo $array[3];
//输出 abc

如果不知道有多少个斜杠呢?如果想要第二个斜杠和第三个斜杠中间的内容呢?
下面这个函数就可以轻松解决如上 所有问题;

 /**
* 按符号截取字符串的指定部分
* @param string $str 需要截取的字符串
* @param string $sign 需要截取的符号
* @param int $number 如是正数以0为起点从左向右截 负数则从右向左截
* @return string 返回截取的内容
*/
function cut_str($str,$sign,$number){
$array=explode($sign, $str);
$length=count($array);
if($number<0){
$new_array=array_reverse($array);
$abs_number=abs($number);
if($abs_number>$length){
return 'error';
}else{
return $new_array[$abs_number-1];
}
}else{
if($number>=$length){
return 'error';
}else{
return $array[$number];
}
}
}

示例

 echo cut_str($str,'/',0); //输出 123
echo cut_str($str,'/',2); //输出 789
echo cut_str($str,'/',-1);//输出 abc
echo cut_str($str,'/',-3);//输出 456

感谢大家阅读到这里~~~

PHP按符号截取字符串的指定部分的更多相关文章

  1. Excel中如何截取字符串中指定字符后的部分字符

    1.如何给某列属性为时间整体加一个时间值:      场景一:假如我有一个excel中的某一列如下图所示,如何将该列的时间(用B代替整列)整体加一分钟呢?方法很简单,在空白单元格填写时间格式图中A所示 ...

  2. C# - 怎么截取字符串中指定字符及其后面的字符

    方法1:去掉空格以及后面的字符   //怎么截取让date的值为"2011/12/9",即去掉空格以及后面的字符   string date = "2011/12/9 2 ...

  3. String截取字符串的指定字节长度

    /** TODO:截取字符串的指定字节长度 * @Author wenjing * @Date 11:02 2019/5/15 * @Param [str, bengin, end] * @retur ...

  4. 请求大神,C#如何截取字符串中指定字符之间的部分 按指定字符串分割 一分为二 c# 去除字符串中的某个已知字符

    string stra = "abcdefghijk";string strtempa = "c";string strtempb = "j" ...

  5. sql server按符号截取字符串

    http://www.360doc.com/content/12/0626/13/1912775_220523992.shtml

  6. Java 截取字符串中指定数据及之后数据

    String resCallBackJson="12556{1{{{456858585{";        resCallBackJson = resCallBackJson.su ...

  7. PHP截取字符串(指定开始和结束的字符串)

  8. 深入SQL截取字符串(substring与patindex)的详解

    首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...

  9. PHP截取字符串函数substr()函数实例用法详解

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

随机推荐

  1. jquery mobile Touch事件

    Touch事件在用户触摸屏幕(页面)时触发 1.jquery mobile tap tap事件在用户敲击某个元素时触发 $("p").on("tap",fucn ...

  2. pwn入门之栈溢出练习

    本文原创作者:W1ngs,本文属i春秋原创奖励计划,未经许可禁止转载!前言:最近在入门pwn的栈溢出,做了一下jarvisoj里的一些ctf pwn题,感觉质量都很不错,难度循序渐进,把自己做题的思路 ...

  3. MySQL InnoDB 索引组织表 & 主键作用

    InnoDB 索引组织表 一.索引组织表定义 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table IOT). 在Inno ...

  4. 关于在运行java连接MongoDB时遇到的连接超时问题

    在linux虚拟机里运行创建集合的时候,遇到了以下问题: 这里我最开始时使用的虚拟机IP地址进行连接,因此就出现了错误,连接超时. 在网上查了一些类似的问题,说要改驱动,后来才发现不是这个问题. 在本 ...

  5. 高清语音技术(WBS)及其在手机和蓝牙耳机中的实现

    高清语音也被称为宽带语音,是一种能为蜂窝网络.移动电话和无线耳机传输高清.自然语音质量的音频技术.与传统的窄带电话相比,高清语音很大程度上提高了语音质量,减少了听觉负担. 通信产业链上的所有网络和设备 ...

  6. JSON库的使用研究(一)

    最近用到JSON,收集了一些资料,整理如下: 选择一个合适的JSON库要从多个方面进行考虑: 字符串解析成JSON性能 字符串解析成Java Object性能 Java Object转JSON性能 集 ...

  7. 必须要会的 50 个 React 面试题

    翻译:疯狂的技术宅 原文:www.edureka.co/blog/interv… 如果你是一位有抱负的前端程序员并准备面试,那么这篇文章很适合你.本文是你学习和面试 React 所需知识的完美指南. ...

  8. logstash笔记(二)——grok之match

    官方文档: https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html 基本语法: %{SYNTAX:SEMA ...

  9. 【原创】为什么浮点数1e38f + 1 - 1e38f等于0

    1. 问题 为什么1e38f + 1 - 1e38f为0? 2. 分析 ; //00 00 00 02 int *pii = &ii; float i = 1e38f; //7e 96 76 ...

  10. Python3获取拉勾网招聘信息

    为了了解跟python数据分析有关行业的信息,大概地了解一下对这个行业的要求以及薪资状况,我决定从网上获取信息并进行分析.既然想要分析就必须要有数据,于是我选择了拉勾,冒着危险深入内部,从他们那里得到 ...