добрый день, подскажите регулярное выражение - обрезать все что идет после определенного количества определенного символа, к примеру обрезать все что идет после третьей запятой и саму запятую или после последней запятой и саму запятую, или к примеру вместо запятой пробелы.
ну к примеру идет перечисление и нужно обрезать после 3 запятой асер, монитор, 17, колонки, китай и т.д. надо что бы осталось асер, монитор, 17 и второй пример, нужно обрезать после последнего пробела диван престиж раскладной 90х180 надо что бы осталось диван престиж раскладной
не знаю что вы имеете ввиду, но если через explode то 1. не хочется городить портянку 2. по второму варианту количество слов может быть разным. нашел для второго варианта регулярку preg_replace('=\s\S+$=', '',$str); коротко и красиво )
не такая уж и портянка PHP: $str = "диван престиж раскладной 90х180"; $str_arr = explode(' ', $str); array_pop($str_arr); echo implode(' ', $str_arr);
да и тут тоже PHP: $str = "асер, монитор, 17, колонки, китай";$str_arr = explode(',', $str);echo $str_arr[0] . ', ' . $str_arr[1] . ', ' . $str_arr[2];
fanatic, это ясно, что можно так ) но все таки когда коротко и в одно действие, то поэстетичнее что ли так сказать )
длина регулярки будет длиyнее приведенного решения preg_replace('/(.*),(.*),(.*),(.*)/', '$1,$2,$3', $str);