1) Надо убрать из текста слова <= wordLen символов PHP: $text=preg_replace ("/(?<=\s)[\w]{0".$wordLen."}(?=\s)/", '', $text ); как можно добавить в позиционные проверки проверку на начало строки и конец? в моем случае не срабатывает на первом и последнем слове текст состоит уже из "слово1 слово2 слово3 слово4" то есть только \w\s PS может есть функция какаято, чтоб не использовать регулярку?[/php]
Да, спасибо, уже сделал так "осенило" что просто надо по-другому. ну ничего, первый блин комом первый раз с регулярками..
Как-нибудь вот так можно: PHP: <?php $text = "слово1 слово2 слово3 слово4 слово5 длинноесловокотороенадоудалить ещеоднодлинноеслово"; $wordLen = 12; $words = explode(" ", $text); foreach($words as $key => $value){ if(strlen($value) > $wordLen) $errorWords[] = $value; } $text = str_replace($errorWords, "", $text); print $text; ?>
А что предпочтительнее с точки зрения скорости, системных ресурсов? если текст из 3 сотен слов скажем .. И вообще есть какието рекомендации когда лучше использовать регулярку, когда просто различные строковые функции? может есть какаято статейка, а то я уже "распробовал" регулярки и вот теперь леплю их куда может и не следует.