Удаление необычной строки

Статус
В этой теме нельзя размещать новые ответы.

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Подскажите пожалуйста, как удалить строку следующего типа:
текст------------text-------------текст
Необходимо удалить все --- и текст между ними.
 
PHP:
$text = preg_replace('/-+.+-+/', ' ', $text);
 
PHP:
$text = preg_match_all('%@@(\w+)(\d+)\s*%i', $text, $ret);
print_r($ret);
 
PHP:
preg_match_all('/@@line\d+[\r\n]*([^\r\n]+)[^\r\n]*/si', $text, $out);
 
Если текст имеет вид
@@lala
text
@@blalala
textik
@@okokokok
another text
@@smiling
the last one
то регулярка, написанная выше - не работает.
Но идею уловили правильно.
 
тогда что вам помешало изменить регулярное выражение и вместо строки line подставить символьный класс?
PHP:
preg_match_all('/@@[a-z0-9]+[\r\n]*([^\r\n]+)[^\r\n]*/si', $text, $out);
 
Регулярка забирает только первую строку с
а текст, который идёт после этой стороки до следующего
регулярка почему-то не вырезает.

Добавлено через 2 минуты
$text = preg_match_all('%@@(\w+)(\d+)\s*%i', $text, $ret);
print_r($ret);
Не работает :)

P.S.
И ещё вопрос.
Как в тексте заменить более одного пробела подряд - только одним.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху