服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

PHP按符号截取字符串的指定部分的实现方法

2019-09-07 15:47子钦加油 PHP教程

字符串截取在php开发中是比较常用的,而且对于截取的需求也多种多样,这篇文章主要介绍了PHP按符号截取字符串的指定部分 ,需要的朋友可以参考下

字符串截取在php开发中是比较常用的;

而且对于截取的需求也有很多种;

有时我们想截取最后一个斜杠'/'后面的数字;

有时我们又需要截取第一个斜杠'/'前面的内容判断用户输入的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截取指定两个字符之间字符串

/**
 * php截取指定两个字符之间字符串,默认字符集为utf-8 Power by 大耳朵图图
 * @param string $begin 开始字符串
 * @param string $end 结束字符串
 * @param string $str 需要截取的字符串
 * @return string
 */
function cut($begin,$end,$str){
 $b = mb_strpos($str,$begin) + mb_strlen($begin);
 $e = mb_strpos($str,$end) - $b;

 return mb_substr($str,$b,$e);
}

调用

echo $this->cut('token/','?code',$redirectUrl);die;

上面的方法不是很好用,当截取的是值为串的时候,会出现截取不到的情况用下面的吧

/*
 * php截取指定两个字符之间字符串
 * */
function get_between($input, $start, $end) {
 $substr = substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1));
 return $substr;
}

调用

$sVid = $this->get_between($redirectUrl, "token/", "?code=");

总结

以上所述是小编给大家介绍的PHP按符号截取字符串的指定部分的实现方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

延伸 · 阅读

精彩推荐
  • PHP教程php实现的PDO异常处理操作分析

    php实现的PDO异常处理操作分析

    本文实例讲述了php实现的PDO异常处理操作。分享给大家供大家参考,具体如下: 异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错就错,不报错 以前,当PHP碰到错误的时候,会直接...

    菜鸟学编程$2152019-07-08
  • PHP教程php两点地理坐标距离的计算方法

    php两点地理坐标距离的计算方法

    这篇文章主要为大家详细介绍了php两点地理坐标距离的计算方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    傲雪星枫2572019-07-08
  • PHP教程php中如何执行linux命令详解

    php中如何执行linux命令详解

    开发中遇到一种问题,需要在php函数中运行Linux系统代码,所以下面这篇文章主要给大家介绍了关于php中如何执行linux命令的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...

    nemo1262019-08-30
  • PHP教程php实现微信企业付款到个人零钱功能

    php实现微信企业付款到个人零钱功能

    这篇文章主要为大家详细 介绍了php实现微信企业付款到个人零钱功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    东冬冬1802019-09-03
  • PHP教程PHP实现浏览器格式化显示XML的方法示例

    PHP实现浏览器格式化显示XML的方法示例

    这篇文章主要介绍了PHP实现浏览器格式化显示XML的方法,涉及php针对xml节点的创建、添加、格式化显示等相关操作技巧与注意事项,需要的朋友可以参考下...

    _xiaoxiong3302019-06-29
  • PHP教程7种流行PHP集成开发工具(IDE)的比较

    7种流行PHP集成开发工具(IDE)的比较

    本文发掘集成开发环境(IDE)的所有用途,并比较 7 种流行的 IDE 的成本和优势。 编写关于PHP的系列文章让我更加深刻地了解了 PHP 开发人员的世界。我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE。大多数程序员使...

    服务器之家2192019-06-03
  • PHP教程Thinkphp5框架使用validate实现验证功能的方法

    Thinkphp5框架使用validate实现验证功能的方法

    这篇文章主要介绍了Thinkphp5框架使用validate实现验证功能的方法,结合实例形式分析了tp5内置的对象validate实现验证的相关操作技巧,需要的朋友可以参考下...

    zhensg3662019-08-28
  • PHP教程PHP简单判断手机设备的方法

    PHP简单判断手机设备的方法

    这篇文章主要介绍了PHP简单判断手机设备的方法,涉及php基于服务器预定义变量进行判断操作的相关技巧,需要的朋友可以参考下...

    onestopweb2802019-06-20