PHP-字符串截取

Posted 梦之海岛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"));
?>

以上是关于PHP-字符串截取的主要内容,如果未能解决你的问题,请参考以下文章

php 怎么截取汉字字符串?

php 在smarty里怎么截取字符串?

php截取中文字符串

php truncate函数能截取不同字体的字吗

php怎么截取指定字符串之间的字符串

我想用php截取两个字符串之间的内容有多个?