Каков наилучший способ получить первые 5 слов строки? Как можно разбить строку на две так, чтобы первая подстрока имела первые 5 слов исходной строки, а вторая подстрока составляла остальную часть исходной строки
PHP Какой лучший способ получить первые 5 слов строки?
Ответ 1
$pieces = explode(" ", $inputstring);
$first_part = implode(" ", array_splice($pieces, 0, 5));
$other_part = implode(" ", array_splice($pieces, 5));
explode
разбивает исходную строку на массив слов, array_splice
позволяет вам получить определенные диапазоны этих слов, а затем implode
объединяет диапазоны обратно в одну строку.
Ответ 2
Далее сильно зависит то, что вы определяете как word, но это кивок в другом направлении, вдали от простого explode
-ing.
$phrase = "All the ancient classic fairy tales have always been scary and dark.";
echo implode(' ', array_slice(str_word_count($phrase, 2), 0, 5));
дает
Вся древняя классическая фея
Другая альтернатива, так как все любят регулярное выражение, было бы что-то вроде:
preg_match('/^(?>\S+\s*){1,5}/', $phrase, $match);
echo rtrim($match[0]);
Ответ 3
<?php
$words = explode(" ", $string);
$first = join(" ", array_slice($words, 0, 5));
$rest = join(" ", array_slice($words, 5));
Ответ 4
implode(' ', array_slice(explode(' ', $contents), 0, 5));
Примечание: здесь, наконец, вы можете видеть 0, 10 он будет печатать от стартового слова до 10-го слова, поэтому вы можете исправить, как вы хотите начать с слова на общее число слов.