PHP: <?php switch($_SERVER['REQUEST_URI']) { case "/": echo " <center> <form action='" . BASEPATH . "/core/login.php' method='post'> Логин:<br> <input type='text' name='login'><br> Пароль:<br> <input type='password' name='password'><br><br> <input type='submit' value='Вход'> </form><br><br> <a href='/registration'>Регистрация</a><br><br> </center>"; break; case "/registration": echo " <center> <form action=" . BASEPATH . "'/core/registration.php' method='post'> Логин:<br> <input type='text' name='login'><br> Пароль:<br> <input type='password' name='password'><br><br> <input type='submit' value='Регистрация'> </form><br><br> </center>"; break; } ?> Вставляю этот код через require_once, отображается все нормально, пытаюсь заменить по регулярному выражению, отображает вот так
PHP: $pattern = "****"; $replacement = file_get_contents($fiile2); $subject = file_get_contents($file);
ну четыре звездочки - не регулярное выражение. нет разделителей, нет шаблона, нет опциональных флагов. какой смысл кроется за этими звездочками?
звездочки это набор символов, который я ищу и заменяю на нужный мне код. Извиняюсь, завел в заблуждение с регулярным выражением
ну если ты ищешь набор из четырех звездочек подставляя их в прег_-функции, то тебе надо сделать из них регулярное выражение про четыре звездочки. или не использовать прег_-функции - обычного str_replace хватит.
%слово%, вот таким образом выглядит выражение у меня, прег находит его и заменяет, только криво, как на скрине. Стр заменяет так же криво
%слово% - это только половина осмысленного регулярного выражения. проценты обернутся в разделители и будет осуществляться поиск подстроки "слово". попробуй сделать что-нибудь вроде ~%слово%~
ну тогда придется либо самому решать либо выкладывать код как есть без всяких попыток скрыть что-то "важное" (ну естественно без паролей)
PHP: <?php require_once $_SERVER['DOCUMENT_ROOT'] . '/config.php'; class Index { public function getBody() { echo $this->getHead() . $this->replaceStringMenu() . $this->getFoot(); } private function getHead() { $head = file_get_contents(BASEPATH . '/templates/header.php'); return $head; } private function getMenu() { $main = file_get_contents(BASEPATH . '/templates/main.php'); return $main; } private function getFoot() { $foot = file_get_contents(BASEPATH . '/templates/footer.php'); return $foot; } private function replaceStringMenu() { $menu = file_get_contents(BASEPATH . '/core/menu.php'); $replace_string = str_replace('~%menu%~', $menu, $this->getMenu()); return $replace_string; } } ?> в меню.пхп формы для входа и регистрации и все
а, я тебя понял. ты встраиваешь куски кода одного сценария в другой. типа шаблонизатор пишешь. не получится так. просто посмотри исходный код итоговой страницы и поймешь сколько там необработанного пхп-мусора. потому что пхп-машина уже работает со сценарием и попытка попытка прочитать код другого - будет обработана в обычном текстовом виде. без компиляции и исполнения. --- Добавлено --- попробуй делать просто include вместо file_get_contents.
ну в какой алгоритм такой и результат. продолжай отладку. ну или тормозни, продумай алгоритм и с нуля напиши.