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 相关文章推荐
用PHP编写PDF文档生成器
Oct 09 PHP
如何分别全角和半角以避免乱码
Oct 09 PHP
php 数学运算验证码实现代码
Oct 11 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
php中日期加减法运算实现代码
Dec 08 PHP
php自定义函数截取汉字长度
May 15 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
解决laravel查询构造器中的别名问题
Oct 17 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
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
python从入门到精通(DAY 1)
2015/12/20 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
python梯度下降法的简单示例
2018/08/31 Python
python url 参数修改方法
2018/12/26 Python
opencv实现简单人脸识别
2021/02/19 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python的sys.path模块路径添加方式
2020/03/09 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
运动会入场解说词
2014/02/07 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
应届毕业生自荐信
2015/03/04 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
法制教育主题班会
2015/08/13 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS