глюки функции str_replace

Pawell

Новичок
глюки функции str_replace

вопрос - иногда она ни в какую не хочет заменять некоторые сочитания по совершенно непонятной причине... например:
PHP:
$perem = "*тут находится текст*";

$orig = array("\tx5845", "\pard", "\qj");
$fin = array("","", "");

$new = str_replace($orig, $fin, $perem);
echo $new;
итак: если в переменной $perem есть что-то вроде:

\pard\qj\tx5845

то вмеcто положенной пустоты на выходе имею \tx5845

а если в переменной былочто-то вроде:

{\colortbl ;\red0\green0\blue255;}

то при условии что
PHP:
$orig = array("\red0", "\green0", "\blue255", ";", "{", "}");
$fin = array("","", "", "", "", "");
на выходе почему-то имеем \red0
в обем вопрос - как проще убивать ненужные символы, чем str_replace и в чём тут подвох, почему не заменяет?
 

HraKK

Мудак
Команда форума
омг.

Не буду выкладывать доки, эти займутся умные люди.
Скажу в краце " - внутри обрабатывается текст заменяется например переменные пхп на их значение и так же прециальные символы которые начитаются на \ что и происходит в твоем случае. Поэтому либо замени в $orig " на '(статика), либо заместо \ пиши \\
 
Сверху