php如何删除指定字符间的字符串

小编给大家分享一下php如何删除指定字符间的字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php删除指定字符间的字符串的方法:1、创建一个PHP示例文件;2、输入代码“public function getStr(){...}”;3、通过getStr方法删除字符串中指定两段字符中间的的字符即可。

本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

PHP删除字符串中指定两段字符中间的的字符

做项目中遇到的问题,需要删除字符串中指定两段字符中间的的字符。

public function getStr()
    {
        //str是一串有规则的字符串,现在我想删除其中一段,代码如下
        $str="1,2018-04-15_20:15:11,2,2018-04-15_20:15:11,3,2018-04-15_20:15:11,4,2018-04-15_20:15:11";
        //获取开始位置,选择 ,2,(防止和时间的年份冲突)
        $i1=strpos($str,',2,');//开始位置
        $i2=strpos($str,',',$i1+3);//结束位置
        $str1=substr($str,0,$i1) . substr($str,$i2,strlen($str));
        echo $str."<br>".$str1;//换行输出,对比结果
        //输出结果 
        //1,2018-04-15_20:15:11,2,2018-04-15_20:15:11,3,2018-04-15_20:15:11,4,2018-04-15_20:15:11
        //1,2018-04-15_20:15:11,3,2018-04-15_20:15:11,4,2018-04-15_20:15:11
        //OK,完美。
    }

简单封装一下(感觉封装后反倒麻烦了),但还是记录一下吧

public function getStr($str,$str1,$n1,$str2,$n2)
    {
        /**
         * $str为要处理的字符串
         * $str1为选中的唯一字符串
         * $n1为从$str中第几个字符串开始截取
         * $str2为选中的唯一字符串
         * $n2为从$str2中第几个字符串结束截取
         */
        $i1=strpos($str,$str1)+$n1;
        $i2=strpos($str,$str2,$i1)+$n2;
        $str1=substr($str,0,$i1-1) . substr($str,$i2,strlen($str));
        return $str1;
    }

举个栗子,用封装方法就做如下

//对应的五个值如下 
$str="1,2018-04-15_20:15:11,2,2018-04-15_20:15:11,3,2018-04-15_20:15:11,4,2018-04-15_20:15:11";
$str1=",2,";
$n1="2";            //从指定值中的2 开始截取
$str2=",";
$n2="1";            //截取到指定值中的第一位,也就是,
echo(getStr($str,$str1,$n1,$str2,$n2));    //嗯,结果也一样,就是感觉没弄好,也不简单哈

以上是“php如何删除指定字符间的字符串”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!