在php中第一次出现字符之前返回字符串的一部分

时间:2010-09-22 04:27:13

标签: php string

在PHP中,在第一次出现特定字符之前返回字符串部分的最简单方法是什么?

例如,如果我有一个字符串......

“快速的棕色狐狸跳过等等。”

...我正在过滤空格字符(“”),函数将返回 “该”

谢谢!

6 个答案:

答案 0 :(得分:88)

对于googlers:strtok更适合

echo strtok("The quick brown fox",  ' ');

答案 1 :(得分:66)

可以执行此操作:

$string = 'The quick brown fox jumped over the lazy dog';
$substring = substr($string, 0, strpos($string, ' '));

但我喜欢更好

list($firstWord) = explode(' ', $string);

答案 2 :(得分:20)

  

strstr()查找字符串的第一个匹配项。返回haystack字符串的一部分,从第一次出现的针头开始并包括第一次出现的针头到haystack的末尾。

     

第三个参数:如果为TRUE,strstr()会在第一次出现针头(不包括针头)之前返回干草堆的一部分。

$haystack  = 'The quick brown foxed jumped over the etc etc.';
$needle    = ' ';
echo strstr($haystack, $needle, true);

打印The

答案 3 :(得分:4)

这个怎么样:

$string = "The quick brown fox jumped over the etc etc.";

$splitter = " ";

$pieces = explode($splitter, $string);

echo $pieces[0];

答案 4 :(得分:3)

总结一下,有4种方法

strstr($str,' ',true);
strtok($str,' ');
explode(' ', $str)[0];  //slowest
substr($str, 0, strpos($str, ' '));

区别在于,如果找不到分隔符:

strstr返回false

strtok explode返回整个字符串

substr返回空字符串

如果出现多字节意外故障,则此示例

$str = mb_strstr($str, 'и', true) ?: $str;

答案 5 :(得分:0)

strtok() 函数将字符串拆分为更小的字符串 例如:

$string = "The quick brown";
$token = strtok($string, " "); // output: The

如果你没有空格:打印所有字符

$string = "Thequickbrown";
$token = strtok($string, " "); // output: Thequickbrown