请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

热门经验分享: 护肤 减肥 化妆 美发 育儿 恋爱 理财 职场 旅行 运动 养生 购物 生活 运势 游戏 手机 电脑 小吃 美食 宠物 装修 西点
当前位置: 经验分享网 > 游戏/数码 > 互联网 > PHP按符号截取字符串的指定部分的实现方法

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

时间:2020-2-10 14:03 点击:30次
给大家介绍的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按符号截取字符串的指定部分的实现方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
------分隔线----------------------------
相关经验
测试瓶颈期的小随笔 关于SEO的建议 网站改版及301设置说明 百度spider介绍 阻止个人信息在搜索引擎中出现 site语法查询说明 百度搜索引擎基础知识 禁止搜索引擎收录的方法 建站指南:百度认为什么样的网站更有抓取和收录价值 未建好页面应返回503状态码,防止被删除 百度Site App服务 常用搜索引擎高级命令——SEO常用搜索引擎命令 网站排名优化的原理是什么 关键词分类和部署 网站排名优化的原理是什么 ThinkPHP3.2.3新特性之:数据库设置 “您需要添加对方为好友+才能给对方发送会话消息”QQ解决办法 ... 一个域名下安装两套科讯CMS的解决方法 Discuz! 修改在没有登录的情况下看到关键词和描述 更新升级提示:请先升级 UCenter 到 1.6.0 以上版本的解决方法 DiscuzX使用其它模板点击diy没有反应问题解决 JS实现多选框效果_多选框 科讯CMS V9.0标签大全 简易的漂浮图片代码_漂浮图片代码_悬浮代码_带关闭的 JS实现内容超出多少后隐藏、显示 非常简单实用的Jquery(js)给当前页或者跳转后页面的导航栏添加选中后样式 ... 百度和谷歌的高级搜索语法示例详解 css position:absolute 如何居中对齐? :first-child 伪类向元素的第一个子元素添加样式。 彻底弄懂css中单位px和em,rem的区别 phpcms v9默认后台管理员登录地址修改方法 CSS背景100%平铺 浏览器缩小背景显示不全解决办法 推广技巧 :我可以选择哪几类关键词 phpcmsv9 按比例等宽完美缩略图方案 PHPCMS V9删除栏目时没有权限(转载) PHPCMS 关于会员功能和phpsso通信 的一些经历 phpcms V9表单提交邮件配置及发送到邮件提醒详细内容 phpcms表单向导导出为EXCEL文件插件 PhpStorm常用的一些快捷键 真正可用的CSS文字两端对齐 phpcms v9 模板标签技巧,模板标签常用方法 phpcms多站点用二级目录作为站点域名,内容页生成的路径不对,都是默认了用第一个站点 ... PHPCMS页面标题中SEO标题用横线"-"隔开的修改方法 KindEditor编辑器自动过滤首行缩进和全角空格的解决方法 phpcms发布内容时阅读数随机显示 河北膜结构车棚「同创停车棚制作公司优势」 phpcms V9 新版本如何设置TAG标签关键词伪静态 phpcms 修改后台内容管理列表数量的方法 htaccess详解及.htaccess参数说明-NC 忽略路径大小写问题 PHPCMS V9搜索结果页分页伪静态方法 不锈钢紧固件行业未来发展趋势 不锈钢螺丝一般是用哪种型号的材料 notepad++换行符号替换方法分享 卡通熊怎么画
推荐内容