[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение с сохранением скобок
skolozhabskiy
добрый день,

есть функция, которая выдает N число слов из строки:

function first3words($s, $number_words=6) {
return preg_replace('/((\w+\W*){'.$number_words.'}(\w+))(.*)/u', '${1}', $s);
}


есть строка, например,
$string = 'Сфалерит - Галенит - Кварц (Sphalerite + Galena + Quartz)';


сейчас функция выдает результат такой:

Сфалерит Галенит Кварц (Sphalerite Galena Quartz
, т.е. без последней круглой скобки

Вопрос: что изменить или добавить в функцию first3words, чтобы она выдавала нужные количество слов, удаляла все специальные символы, лишние пробелы и оставляла только круглые скобки.

Необходим результат такой :
Сфалерит Галенит Кварц (Sphalerite Galena Quartz)


Спасибо
Arh
return preg_replace('!((\w+\W*){'.$number_words.'}(\w+)\))(.*)!u', '${1}', $s);


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.