PHP-字符串截取

前言

今天遇到了一个小问题,虽然比较简单,但还是记录一下解决过程
函数使用可以看官方介绍,调用的函数都是php内置的
估计有更方便的方法,不过暂时没想到的┌( ´_ゝ` )┐

PHP: stristr - Manual

PHP: strstr - Manual

PHP: strlen - Manual

PHP: substr - Manual

PHP: stripos - Manual

一、问题

需要处理一段url,只知道两个东西
一个东西是整串url,是可以通过其他方式获取的

还有一个是url中必定含有某个字符串A,必定含有的原因是因为我前面写了if语句判断过了
需要将字符串A之后的内容删除掉,并保留剩下的内容

二、方法

假设已知的是http://xxx/xxx/index.php/xxx/xx和里面的index.php,其中的xxx长度、个数和字符都是未知的
需要得到的结果是http://xxx/xxx/index.php

第一种方法较复杂点,先获取http://xxx/xxx/index.php/xxxindex.phpindex.php/xxx的长度
然后通过这三个长度得到http://xxx/xxx/index.php的长度
最后通过substr函数来截取子串

在这里插入图片描述
在这里插入图片描述

第二种方法:
之后查官方手册的时候又发现了一个函数stripos,可以省去一次stristrstrlen函数的使用
先通过stripos获取http://xxx/xxx/的长度,然后再加上index.php的长度就可以了
其他的部分和第一种方法是一样的

三、代码

index.php可以替换成自己所需要的变量或字符串

在这里插入图片描述

<?php
    $url = "http://xxx/xxx/index.php/demo/12";
    //方法一
    $len = strlen($url) - strlen(stristr($url,"index.php")) + strlen("index.php");
    echo substr($url,0,$len);
    echo "<br>";
    //方法二
    echo substr($url,0,stripos($url,"index.php") + strlen("index.php"));
?>

猜你喜欢

转载自blog.csdn.net/smallfox233/article/details/123371198