Преобразование типов или неправильная регулярка

Армян

Новичок
Преобразование типов или неправильная регулярка

Здрасьте еще раз :)

Появилась такая проблемка!

Надо в тексте заменить все последовательности кодов типа \xxx на их символы.
Проблема вобщем в регулярке, вот как я пробую:

$body = "\\046kuku\\074";
var_dump($body);
$body = preg_replace("~\\\\(\d\d\d)~", intval("\$1"), $body);
var_dump($body);

получаю:
string(12) "\046kuku\074" string(6) "0kuku0"

если убрать intval() то все гуд, получаю след.:
string(12) "\046kuku\074" string(10) "046kuku074"

проблема вобщем в том что делая chr, я всегда получаю символ с кодом 0 =(
Подскажите где я не правильно делаю? плз :)

-~{}~ 14.11.07 15:17:

в манах нашел такого вида запись:
$body = preg_replace("~\\\\(\d\d\d)~", "chr('\\1')", $body);

но получаю я не то что надо! а:
string(24) "chr('046')kukuchr('074')"

:(
 

Армян

Новичок
Gremboloid
большущий сеньк! про "e" незнал. :)

вот как заработало:
$body = preg_replace("~\\\\(\d\d\d)~e", "chr(octdec('\\1'))", $body);
 
Сверху