在PHP中,在第一次出现特定字符之前返回字符串部分的最简单方法是什么?
例如,如果我有一个字符串......
“快速的棕色狐狸跳过等等。”...我正在过滤空格字符(“”),函数将返回 “该”
谢谢!
答案 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