php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)

yipeiwu_com6年前PHP代码库
今天在处理删除字符串两端的特定字符时遇到了下面的问题,先看例子
<SPAN style="FONT-SIZE: 18px"></SPAN> 
$str = 'akmumu/writedb.json'; 
我要做的是删除开始的akmumu,再删除末尾的.json,这样只保留有用的字符/writedb
开始我使用的ltrim删除akmumu,再使用rtrim删除.json
结果发现我理解trim错误了,trim的参数如下
rtrim(string,charlist)
他的参数时charlist,也就是不一定按照顺序查找,比如我给一个
$str = 'akmumu/writedbsojn.json';
结果还是/write,我想要的/writedbsojn没有出现,也就是说只要charlist中的任意字符匹配就一直这么下去了。。。
所以就用别的了
str_replace,substr_replace即可
安全起见,增加了代码,防止再截取错误
复制代码 代码如下:

if(strpos($str,'akmumu/') !== FALSE
 $str = substr($str,7);
 if(strpos($str,'.json') !== FALSE)
 {
  if(substr($str,-5,5) == '.json')
  {
   $str = substr_replace($str,'',-5);
  }
 } 
}

这样就可以了

相关文章

PHP 获取文件权限函数介绍

复制代码 代码如下:/* * substr 返回字符串的子串 * base_convert  在任意进制之间转换数字 * fileperms&nb...

由php中字符offset特征造成的绕过漏洞详解

php中的字符offset特性 php中的字符串存在一个非常有趣的特性,php中的字符串也可以像数组一样进行取值。 $test = "hello world"; echo $test...

php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系

asort() 定义和用法 asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。 可选的第二个参数包含了附加的排序标识。 如果成功则返回 T...

PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX第1/2页

让论坛速度更快 PHP加速设置 PHP加速:Zend Optimizer优化PHP程序 Zend Optimizer V2.5.7&nb...

php如何获取文件的扩展名

php如何获取文件的扩展名

网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_exte...