php: Как получить n длинных слов из предложения?

0

предполагать

$length = 4;
$sentence = 'There are so many words in a para';

Как указано, длина равна 4, поэтому выход будет: -

$output = array('many', 'para');

Каким будет регулярное выражение для получения ожидаемого результата?

  • 0
    /some conditions here/ . Остальное зависит от тебя.
Теги:

2 ответа

5

Вы можете использовать это регулярное выражение:

\b\w{4}\b

Демо-версия RegEx

Код:

$re = '/\b\w{4}\b/'; 
$str = "There are so many words in a para"; 

preg_match_all($re, $str, $m);

print_r($m[0]);
  • 1
    используйте регулярное выражение @anubhava с функцией preg_match_all
  • 0
    Привет Puneet, это работает для вас?
0

Просто для удовольствия и для показа нерегулярного способа достижения той же цели:

$length = 4;
$sentence = 'There are so many words in a para';

$i = 0;
$words = array_filter(
    str_word_count($sentence, 1),
    function ($word) use(&$i, $length) {
        return ++$i % $length == 0;
    }
);
var_dump($words);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню