我有
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
但是,如果有人说出原因,它会给出错误吗?
如果有更好的方法,请告诉我
由于
答案 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++)
答案 4 :(得分:0)
爆炸时你有一个额外的括号。
不需要循环,你可以限制爆炸的结果数量:
list(,$result) = explode(" ",$tobesplit, 2);
echo $result;
答案 5 :(得分:0)
有一些错误: