PHP获取字符串前5个单词的最佳方法是什么?

Mit*_*ran 12 php string

获取字符串前5个单词的最佳方法是什么?如何将字符串拆分为两个,使得第一个子字符串具有原始字符串的前5个字,第二个子字符串构成原始字符串的其余部分

Amb*_*ber 40

$pieces = explode(" ", $inputstring);
$first_part = implode(" ", array_splice($pieces, 0, 5));
$other_part = implode(" ", array_splice($pieces, 5));
Run Code Online (Sandbox Code Playgroud)

explode将原始字符串分解为单词数组,array_splice让您获得这些单词的特定范围,然后implode将范围重新组合成单​​个字符串.

  • 使用`explode("",$ inputstring,6)`可以在不需要时保存爆炸. (8认同)

sal*_*the 18

以下内容强烈依赖于您定义为单词的内容,但它是在另一个方向上的点头,远离明白explode.

$phrase = "All the ancient classic fairy tales have always been scary and dark.";
echo implode(' ', array_slice(str_word_count($phrase, 2), 0, 5));
Run Code Online (Sandbox Code Playgroud)

所有古代经典仙女


另一种选择,因为每个人都喜欢正则表达式,就像这样:

preg_match('/^(?>\S+\s*){1,5}/', $phrase, $match);
echo rtrim($match[0]);
Run Code Online (Sandbox Code Playgroud)


Ken*_*iah 5

<?php
$words = explode(" ", $string);
$first = join(" ", array_slice($words, 0, 5));
$rest = join(" ", array_slice($words, 5));
Run Code Online (Sandbox Code Playgroud)

  • `str_split`没有做你想象的那样. (2认同)