PHP: if($msg) $msg = preg_replace("#@([a-zA-Z_\.0-9]+)*(?:\s+\((?:(.*?)\))?\s*)?#ies", "\compileTag('\\1', '\\2')", $msg); памагите решить проблему
уже давно перевел я проста не допер просто заменить preg_replace на preg_replace_callback или предется код подпровлять ищё ?
Здравствуйте! Хочу попросить помощи в правке кода: PHP: if (stristr($this->result, "{lang.")) { $this->result = preg_replace("#\\{lang.(.+?)\\}#ies", "\$lang['\\1']", $this->result); } на preg_replace_callback
Если я правильно начитал, то нужно preg_replace поменяйть на preg_replace_callback и удалить модификатор /e Начну городить, если что поправьте пожалуйста. PHP: $this->result = preg_replace_callback("#\\{lang.(.+?)\\}#is", function($is){return "\$lang['\\1']"}, $this->result);
PHP: $this->result = preg_replace_callback("#\\{lang.(.+?)\\}#is", function($is){return $lang['$is[1]'];}, $this->result); не знаю что сделал, ошибка не выводится но и на странице часть надписей исчезла) а если так: PHP: $this->result = preg_replace_callback("#\\{lang.(.+?)\\}#is", function($is){return "\$lang['$is[1]']";}, $this->result); то, то что исчезло, теперь выводится массивами: ( $lang['text138'] $lang['text141'] $lang['text139'] $lang['text142'] $lang['text140'] $lang['text143'] ) Знающий если заглянет сюда, просьба поправить.