如何在第一次出现的东西上拆分字符串?

时间:2011-12-28 09:50:02

标签: php

我知道“explode”会拆分字符串并将其转换为每次出现的数组。但是,如何在第一次出现时拆分并在第一次出现后保留所有内容?

示例:

$split = explode('-', 'orange-yellow-red');
echo $split[1]; // output: "yellow"

^我希望输出:黄红色

$split = explode('-', 'chocolate-vanilla-blueberry-red');
echo $split[1]; // output: "vanilla"

^我希望输出: vanilla-blueberry-red

5 个答案:

答案 0 :(得分:43)

您可以将limit作为explode的第三个参数传递给您。

$split = explode('-', 'orange-yellow-red',2);
echo $split[1]; //output yellow-red

答案 1 :(得分:7)

查看explode的第三个参数:

  

$limit

     

如果设置了limit并且为正数,则返回的数组将包含最多限制元素,最后一个元素包含其余字符串。

     

如果limit参数为负数,则返回除最后一个限制之外的所有组件。

     

如果limit参数为零,则将其视为1。

$a=explode('-','chocolate-vanilla-blueberry-red', 2);
echo $a[1]; // outputs vanilla-blueberry-red

答案 2 :(得分:1)

$split = explode('-', 'chocolate-vanilla-blueberry-red');
unset($split[0]);
echo implode('-', $split); # vanilla-blueberry-red

答案 3 :(得分:0)

没有变量的解决方案:

strtok('orange-yellow-red', '-');
echo strtok(null);

答案 4 :(得分:-1)

也许正则表达式?

[^-]+-