Trim 字符串直到指定字符以及 trim 后缀

Trim string until specified character and also trim suffix

我不知道这是否可以使用 trim、substr 或 explode。 我有一个 echo 打印这种类型的字符串(它实际上是一个面包屑)

Choose > Apples > Green > Wholesale > 5KG boxes

是否可以截断字符串以便只打印

Apples > Green 

面包屑的结构是固定的,所以我总是想砍掉第一部分(Choose >)和最后两部分(> Wholesale > 5KG boxes)所以我需要砍掉所有东西直到第一个“>”字符和第三个“>”字符之后的所有字符,包括字符。

解决此问题的最简单方法是将字符串分解为数组。之后你只需打印你需要的两个项目。

$string = 'Choose > Apples > Green > Wholesale > 5KG boxes';
$stringParts = explode(' > ', $string);
$newString = $stringParts[1].' > '.$stringParts[2];
$separator = ' > ';
$string = "Choose > Apples > Green > Wholesale > 5KG boxes";
//explode your string, but keep in mind someone could use > in the content
$parts = explode($separator, $string);

//unset the first
array_shift($parts);
array_pop($parts); //unset the last one
array_pop($parts); //unset the second last

//combine them back thogether
$output = implode($separator, $parts);

您可以使用 preg_replace 函数。

$string = "Choose > Apples > Green > Wholesale > 5KG boxes";
echo preg_replace('~^[^>]*>\s*|\s*(?:>[^>]*){2}$~', '', $string);

输出:

Apples > Green