首页 >后端开发 >PHP问题 >php怎么删除指定字符间的字符串

php怎么删除指定字符间的字符串

藏色散人
藏色散人原创
2021-09-22 09:18:242332浏览

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

php怎么删除指定字符间的字符串

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

php怎么删除指定字符间的字符串?

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));    //嗯,结果也一样,就是感觉没弄好,也不简单哈

PS:遇到了,小计一下

推荐学习:《PHP视频教程

以上是php怎么删除指定字符间的字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn