php在空格之前排除所有内容

时间:2011-06-26 14:18:18

标签: php

我有

  

9:42说:1< + tk-> sherlockholmes:   有尖叫声:为什么

我想在第一个空格(“”)之前忽略所有内容。

我想到的一种方法是使用explode()函数,但我遇到了问题,我这样做了:

$f_a = explode(" ",$tobesplit));
for ($i=1;$i<=count($f_a);$i++)
{
$ff_a .= $f_a[$i];
}
echo $ff_a

但是,如果有人说出原因,它会给出错误吗?

如果有更好的方法,请告诉我

由于

6 个答案:

答案 0 :(得分:8)

只需使用strpos [docs]substr [docs]

$part = substr($str, strpos($str, ' '));

答案 1 :(得分:5)

您可以使用strstr()函数在第一个空格后仅获取字符串的一部分,如下所示:

$portion = strstr($str, ' ');

有关详细信息,请查看the documentation for the strstr() function

答案 2 :(得分:1)

preg_replace('/^[^ ]+ /', '', $tobesplit, 1);

答案 3 :(得分:1)

$ i大于数组的上限。变化

for ($i=1;$i<=count($f_a);$i++)

for ($i=1;$i<count($f_a);$i++)

这和Glass Robot's answer

答案 4 :(得分:0)

爆炸时你有一个额外的括号。

不需要循环,你可以限制爆炸的结果数量:

list(,$result) = explode(" ",$tobesplit, 2);

echo $result;

答案 5 :(得分:0)

有一些错误:

  1. 您必须从第一行留下一个封闭的括号。
  2. 你必须使用“&lt;”而不是“&lt; =”in for condition。
  3. 你必须声明ff_a不在循环中
  4. 你必须以“;”结束最后一行。