通过指定php中的第一个和最后一个位置来返回字符串的一部分

时间:2018-12-25 07:10:05

标签: php string

如何通过指定php中的第一个和最后一个位置来返回字符串的一部分?我找不到任何与其相关的功能。

例如:

<?php 
   $string1 = "A test string";

// output required is "test" but with specifying integer positions 
// start = 2
// end = 5

?> 

可以通过substr($string1,2,4);完成 但是,如果我不知道长度,我会想要一个函数,该函数占据第一个位置和最后一个位置。

谢谢

2 个答案:

答案 0 :(得分:1)

计算长度,如 end-start + 1

substr($string1,$start,$end-$start+1)

喜欢

<?php 
   $string1 = "A test string";
   $start = 2
   $end = 5

   // if you know the length
   $str1 = substr($string1,$start,4);

   // if you don't know the length
   $str2 = substr($string1,$start,$end-$start+1);

?> 

答案 1 :(得分:1)

您还可以使用两步方法首先将字符剥离到开头,然后将字符剥离到末尾。

$string1 = "A test string";
$start = 2;
$end = 5;


$str = substr($string1, $start); //"test string";
$str = substr($str, 0, $end); //"test";

echo $str; //test

https://3v4l.org/aO9e7


我知道,您正在寻找的最接近的函数是用于数组的,称为array_slice / array_splice。

但这意味着您需要制作字符串数组,将其切成薄片并联接回字符串。

$string1 = "A test string";
$start = 2;
$end = 5;

$arr = str_split($string1);

$wordarr = array_splice($arr, $start, $end);

echo implode("", $wordarr); // test

这不是推荐的方法。