Не настраивается "жадность"

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

dump1111

Участник
Регистрация
7 Июл 2009
Сообщения
266
Реакции
8
Вот код:

Код:
<?php
$content = 'ML не привязан к какой-либо конкретной методологии или жизнен- 
ному ци';
echo preg_replace("#[-].*?\r\n#si",'-',$content);
?>

выводит - ML не привязан к какой-ному ци
т.е. preg_replace вырезает "-либо конкретной методологии или жизнен- ", хотя должно вырезать "- ".
Но почему так? Ведь я же поставил .+? т.е. должно искаться наименьшее соответствие...
 
потому что эта регулярка так и должна работать. если хочешь вырезать конкретно минус, надо остальное после него убрать:

PHP:
<?php
$content = 'ML не привязан к какой-либо конкретной методологии или жизнен- 
ному ци';
echo preg_replace("#[-]#si",'-',$content);
?>

и на будущее - str_replace
 
если хочешь вырезать конкретно минус,
Так ведь я хочу вырезать только те тире, что поставлены для переноса.
 
U - жадность модификатор
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху