Сработала ли preg_replace ? как определить.

marvelent

Новичок
Сработала ли preg_replace ? как определить.

как определить, сработала ли preg_replace ? Мож какая переменная есть ? (произошла ли хоть одна замена).
 

marvelent

Новичок
vladax, ну подскажи. искал не нашел. Если ты про то изменился ли текст или нет, то это не рационально.

if ($expr=preg_replace(n1)) {print "==1";}
if ($expr=preg_replace(n2)) {print "==2";}

Нужно, чтобы если первая не заменяет, то выполняется вторая. И наоборот. Еще if ставить не буду.

Писал бы я это все здесь если бы знал....?
подскажите пожалуйста.

-~{}~ 27.06.05 15:27:

Я ведь могу пробелы на пробелы заменять. Функция то работает. А текст как был "a b" так и остался "a b".
Надо типа узнать сработала или нет. без preg_match
 

HEm

Сетевой бобер
сравнивай полученный результат с оригиналом через ==
А текст как был "a b" так и остался "a b".
а вот ты как раз и проверь, остался он такой же или нет ;)
 

marvelent

Новичок
Фанат, это типа просто к примеру.
Всем -> если других вариантов нет, то очень грустно, это тебе не perl. Ифов больше ставить нельзя, т.к. пусть уж лучше оба срабатывают как есть:

$expr=preg_replace(n1))
$expr=preg_replace(n2))

Хотелось так:

if ($expr=preg_replace(n1)) else
(($expr=preg_replace(n2));

низя так низя. php здесь не порадовал, если честно. Бум надеяться что они и это и eval нормальный в 5.0. сделали :)
 

marvelent

Новичок
Автор оригинала: marvelent
Надо типа узнать сработала или нет. без preg_match
Ладно спасибо всем хотяб поисследовали немного эту тему.
ИТОГ: по-другому никак. Т.е. должны выполняться обе заменялки. preg_match подходит, но тока усложнит код. еще раз thanks.
 

SelenIT

IT-лунатик :)
Сорри, что встреваю: способность прег_риплейса работать с массивами не может послужить бессмертному делу оптимизации скриптов?
 
Сверху