如何通过指定php中的第一个和最后一个位置来返回字符串的一部分?我找不到任何与其相关的功能。
例如:
<?php
$string1 = "A test string";
// output required is "test" but with specifying integer positions
// start = 2
// end = 5
?>
可以通过substr($string1,2,4);
完成
但是,如果我不知道长度,我会想要一个函数,该函数占据第一个位置和最后一个位置。
谢谢
答案 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
我知道,您正在寻找的最接近的函数是用于数组的,称为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
这不是推荐的方法。