Вообщем выдает ошибку Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/u150619730/public_html/lib/classes/templates.php on line 59 Вот самая 59 строка $this->template = preg_replace ( "#\\[not-aviable=(.+?)\\](.*?)\\[/not-aviable\\]#ies", "\$this->check_module('\\1', '\\2', false)", $this->template );
мануал вообще не судьба читать? устарел модификатор e в preg_replace. вместо этого надо использовать preg_replace_callback
спасибо Добавлено спустя 3 минуты 28 секунд: Не помогло. Стало еще хуже, все шаблони в один слелись,то есть лк пользователя отображаться начал при регистрации
о, это не мне спасибо. я лишь перевел то что тебе пхп-машина сообщила только ты почему-то даже не подумал разбираться с этой ошибкой и поспешил постить на форум. всё правильно делаешь. мы за тебя все твои проблемы решим. мы читать умеем. и с английским у нас не беда. обращайся.
Не помогло. Стало еще хуже, все шаблони в один слелись,то есть лк пользователя отображаться начал при регистрации
Было так Код (Text): if (strpos ( $this->template, "[not-aviable=" ) !== false) { $this->template = preg_replace( "#\\[not-aviable=(.+?)\\](.*?)\\[/not-aviable\\]#ies", "\$this->check_module('\\1', '\\2', false)", $this->template ); } сделал так Код (Text): if (strpos ( $this->template, "[not-aviable=" ) !== false) { $this->template = preg_replace_callback( "#\\[not-aviable=(.+?)\\](.*?)\\[/not-aviable\\]#ies", "\$this->check_module('\\1', '\\2', false)", $this->template ); } В остальных вроде все нормально, а из-за него все поплыло все шаблоны в один и их стало много
мало взять одну функцию и заменить её на другую функцию. логика старого кода должна быть реализована новым. и не надо прятаться в личные сообщения - я их боюсь, у меня от них глаз дергается.
ты новичок. у тебя не может быть "надо". ты учишься. и учиться должен сам. уметь читать мануал. уметь понимать что там написано. уметь понимать как тебе эту ахинею принести на свою задачу на которой ты учишься и у которой нет срочности и ценности. потому что ты учишься. был код: 1. найти такие-то вхождения 2. заменить таким-то текстом 3. модификатор е разрешает в заменяемом тексте выполнение пхп выражений то есть фактически мы выполняли некоторую функцию этого же объекта (ключевое слово $this я его знаю я мануал читал ага) передавая ему первую и вторую совпавшую группы имеем: пхп наконец решила не разрешать выполнение выражений ведь существует функция позволяющая выполнить другую функцию что нужно сделать: включить мозги и подумать как выполнить указанный метод и передать ему нужные группы. пробуй. или плати.
Правильно? До Код (Text): $this->copy_template = preg_replace("#\\{translate=(.+?)\\}#ies", "\$this->load_lang('\\1')", $this->copy_template); После Код (Text): $template = preg_replace_callback( "#\\[translate=(.+?)\\](.*?)\\[/translate\\]#ies", function($matches) { return $this->check_module($matches[1], $matches[2]); }, $template );
Да ошибка исчезла, везде так сделал все подставил заменил, но опять из-за этой строки Код (Text): if (strpos ( $this->template, "[not-aviable=" ) !== false) { $this->template = preg_replace ( "#\\[not-aviable=(.+?)\\](.*?)\\[/not-aviable\\]#ies", "\$this->check_module('\\1', '\\2', false)", $this->template ); } Заменил её также на Код (Text): if (strpos ( $this->template, "[not-aviable=" ) !== false) { $template = preg_replace_callback( "#\\[not-aviable=(.+?)\\](.*?)\\[/not-aviable\\]#ies", function($matches) { return $this->check_module($matches[1], $matches[2]); }, $template ); } Но после этого опять все шаблоны слелись, я уже не знаю что делать, просто умоляю помоги, очень-очень нужно
+-, я просто учусь, а тут бац, решил попробовать разобрать vii engine, и сразу столкнулся с такой проблемой( Добавлено спустя 55 секунд: да и белый экран тогда будет Добавлено спустя 2 минуты 57 секунд: И видно на фоне Код (Text): [/not-aviable] [aviable=main] Добавлено спустя 22 минуты 6 секунд: Ну так что?Помоги пожалуйста.
kapriiuk а зачем брать задачу не по сильную? начни читать книги, там тоже очень много практики и поймёшь как всё работает.