- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Подскажите почему не выводится результат работы скрипта?
<?php
function out_teg()
{
$ob1 = '444444444';
$output = "<?php ";
$output .= " $ob1;\n";
$output .= "?>";
return $output;
}
print out_teg();
?>
он работает, в исходном коде страницы посмотрите.
Здравствуйте. Подскажите почему не выводится результат работы скрипта?
да потому что выводится тег, а браузер не показывает сами теги. Это все равно, что вывести echo "<i>"; Тогда уж пишите:
Ок. Спасибо.
Тогда как мне вывести значение перемененной $ob1 в html файле index.html место своего тега {teg}?
$template = file_get_contents('index.html');
$repl = "[{teg}]";
$ob1 = '444444444';
$output = "<?php\n";
$output .= " echo \$ob1;\n";
$output .= "?>";
$template = preg_replace($repl, $output, $template);
print_r($template);
файл index.html
<!DOCTYPE html>
<html>
<head>
<title>Стартовая страница</title>
</head>
<body>
{teg}
</body>
</html>
А зачем вы так все усложняете?
А я бы сделал вообще так:
А зачем вы так все усложняете?
А я бы сделал вообще так:
Дело в том что мне также в html шаблоне нужно иногда чтобы размещались php скрипты.
Ну например ввывод переменной <?= $ob1 ?> или более сложнее организовать цикл:
<?php foreach ( $usergroup as $group ): ?>
<li>Номер: <?= $group['id'] ?></li>
<li>Группа: <?= $group['name'] ?></li>
<?php endforeach; ?>
Но в результате никакой вывод при не осуществляется - остается пустое место.
Наверно веной всего функция file_get_contents, которая каким-то образом экранируется php код на html станице 😕
Дело в том что мне также в html шаблоне нужно иногда чтобы размещались php скрипты.
Ну например ввывод переменной <?= $ob1 ?> или более сложнее организовать цикл:
Но в результате никакой вывод при не осуществляется - остается пустое место.
Наверно веной всего функция file_get_contents, которая каким-то образом экранируется php код на html станице 😕
я вам уже объяснил, ничего не экранируется. Создайте test.html и в него поместите следующий код:
На экране вы не увидите НИЧЕГО! Потому что в HTML это просто тег. А если у вас в шаблонах есть PHP-код, то для этого есть функция eval().
вот это даст то, что нужно
Дело в том что мне также в html шаблоне нужно иногда чтобы размещались php скрипты.
вам стоит почитать о существующих системах шаблонов, прежде чем свои изобретать, если вы хотите использовать php в шаблоне зачем теги {teg}?
зачем шаблон в html? делайте php и просто инклюдьте, зачем вообще тогда чтение файла и подстановка переменных? вы все в кучу пытаетесь смешать)
вам стоит почитать о существующих системах шаблонов, прежде чем свои изобретать, если вы хотите использовать php в шаблоне зачем теги {teg}?
зачем шаблон в html? делайте php и просто инклюдьте, зачем вообще тогда чтение файла и подстановка переменных? вы все в кучу пытаетесь смешать)
Да Вы правы. Я и пытаюсь полностью разделять php и html. Сделал свой простой шаблонизатор который хорошо справляется с выводом одиночных данных, но когда речь дошла к выводу в html шаблоне массива данных в цикле, тут и возникла проблема.
В смарти это реализовано так например:
{foreach $users as $user}
<li>Номер:{$user->id}</li>
<li>Почта:{$user->email}</li>
{/foreach}
Вот хочу и себе чот-то подобное соорудить. Делаю свой велик, готовые шаблонизаторы не подойдут.
А так как такой вариант еще не смог реализовать решил попробовать стандартный способ вывода php:
<?php foreach ( $users as $user ): ?>
<li>Номер:{$user->id}</li>
<li>Почта:{$user->email}</li>
<?php endforeach; ?>
Но и он теперь не проходит из-за использования в шаблонизаторе функции file_get_contents
---------- Добавлено 09.04.2015 в 22:24 ----------
На экране вы не увидите НИЧЕГО! Потому что в HTML это просто тег. А если у вас в шаблонах есть PHP-код, то для этого есть функция eval().
Использование eval() води бы небезопасно для сайта?
http://phpfaq.ru/tpl читать до просветления)
http://phpfaq.ru/tpl читать до просветления)
Это стандартный вывод через php. Не решает мой вопрос.