<?php
$string = 'слово1, слово2 длинноолов1 слово3: слово4. длинноесловоболее20символов';
function getWordsFromString($string)
{
if (preg_match_all("/\b(\w+)\b/ui", $string, $matches)) {
return $matches[1];
}
return $matches;
}
$matches = getWordsFromString($string);
foreach($matches as $key => $m) {
if (mb_strlen($m, 'UTF-8') > 20) {
unset($matches[$key]);
}
}
print_r($matches);
Array ( [0] => слово1 [1] => слово2 [2] => длинноолов1 [3] => слово3 [4] => слово4 )