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


Posted in PHP onSeptember 10, 2018

字符串截取在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 相关文章推荐
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
PHP学习之整理字符串
Apr 17 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
Destoon模板制作简明教程
Jun 20 PHP
Thinkphp中的curd应用实用要点
Jan 04 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
Laravel find in set排序实例
Oct 09 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 #PHP
使用PHPExcel导出Excel表
Sep 08 #PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 #PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 #PHP
php curl优化下载微信头像的方法总结
Sep 07 #PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 #PHP
PHP日志LOG类定义与用法示例
Sep 06 #PHP
You might like
十天学会php之第五天
2006/10/09 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php对数组排序代码分享
2014/02/24 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
Python标准库inspect的具体使用方法
2017/12/06 Python
Python如何读取文件中图片格式
2020/01/13 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
Python项目打包成二进制的方法
2020/12/30 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
美国宠物商店:Wag.com
2016/10/25 全球购物
干货:如何写好观后感 !
2019/05/21 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
React中的Context应用场景分析
2021/06/11 Javascript