PHP, Что лучший способ состоит в том, чтобы получить первые 5 слов строки?

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

12
задан Mithun Sreedharan 26 May 2010 в 18:24
поделиться

3 ответа

$pieces = explode(" ", $inputstring);
$first_part = implode(" ", array_splice($pieces, 0, 5));
$other_part = implode(" ", array_splice($pieces, 5));

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

40
ответ дан 2 December 2019 в 02:55
поделиться

Следующее сильно зависит от того, что вы определяете как слово , но это кивок в другом направлении, прочь от простого 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]);
18
ответ дан 2 December 2019 в 02:55
поделиться
<?php
$words = explode(" ", $string);
$first = join(" ", array_slice($words, 0, 5));
$rest = join(" ", array_slice($words, 5));
5
ответ дан 2 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: