Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Работает только один раз str_replace


Автор: K0SHKA 5.6.2010, 17:33
Доброго времени суток всем всем всем

Сталкнулась с такой проблемой.

есть функция которая замещает символы она примерно такая

Код

function parse($text = "")
{
     $text = str_replace("<", "&#60", $text );
     $text = str_replace(">", "&#62", $text );

     return $text;
}



Вызываеться так. И всё будет работатье прекрасно

Код

 $src = preg_replace("#\[img(.+)#ies", "parse('\\1')");



А если вызвать вслед за этой функцией ещё одну то она уже не будет работать.. Интересно то что если их поменять местами то будут заменяться символы только в той которая вызываеться первой 
Например

Код

 $src = preg_replace("#\[img(.+)#ies", "parse('\\1')", $src );
 $src = preg_replace("#\[url(.+)#ies", "parse('\\1')", $src );


Во второй строке символы "<"не будут замены на  "&#60" подскажите пожалуйста почему повторный так происходит ? 

Автор: K0SHKA 6.6.2010, 13:37
Разобралась, тему можно закрыть  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)