PHP Каков наилучший способ получить первые 5 слов строки? - PullRequest
12 голосов
/ 26 мая 2010

Каков наилучший способ получить первые 5 слов строки? Как разделить строку на две части так, чтобы первая подстрока содержала первые 5 слов исходной строки, а вторая подстрока составляла оставшуюся часть исходной строки

Ответы [ 4 ]

40 голосов
/ 26 мая 2010
$pieces = explode(" ", $inputstring);
$first_part = implode(" ", array_splice($pieces, 0, 5));
$other_part = implode(" ", array_splice($pieces, 5));

explode разбивает исходную строку на массив слов, array_splice позволяет получить определенные диапазоны этих слов, а затем implode объединяет диапазоны обратно в одну строку.

18 голосов
/ 27 мая 2010

Следующее сильно зависит от того, что вы определяете как слово , но это кивок в другом направлении, далеко от простого 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]);
5 голосов
/ 26 мая 2010
<?php
$words = explode(" ", $string);
$first = join(" ", array_slice($words, 0, 5));
$rest = join(" ", array_slice($words, 5));
0 голосов
/ 24 мая 2014
implode(' ', array_slice(explode(' ', $contents), 0, 5));

Примечание: здесь, в конце, вы можете увидеть 0, 10 будет напечатано от начального слова до 10-го слова, так что вы можете исправить, как вы хотите, чтобы начать от слова до общего количества слов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...