Используйте файл .html и используйте переменные - PullRequest
1 голос
/ 30 декабря 2010

Скажем, у меня есть файл .html, который содержит веб-дизайн и содержит переменные, такие как $ time $ comment $ title.

как мне ввести их переменные из php-файла

Извините, я не могу объяснить это достаточно хорошо, но я надеюсь, что кто-то понимает

Ответы [ 5 ]

2 голосов
/ 30 декабря 2010

Хорошо .. Я просто угадаю, что вы хотите.Так как вопрос не очень понятен.

В сценарии PHP загрузите HTML-код с помощью чего-то вроде file_get_contents, затем используйте str_replace для замены «переменных» в HTML, а затем отобразите новый HTML.

Или нетиспользуйте файл HTML, используйте файл PHP и просто используйте echo там, где вы хотите, чтобы переменные были.

Или ... используйте что-то вроде шаблонов smarty, что, вероятно, более продвинуто, чем вы ищете.

1 голос
/ 30 декабря 2010
  1. Обучение PHP

  2. Обучение MVC Framework на ваш выбор

  3. Измените файл .html на .php

  4. Вставьте его со своими "представлениями"

  5. Вызовите его с вашего контроллера (определение переменных представления)

0 голосов
/ 30 декабря 2010

Это больше похоже на проблему утилизации.Как уже отмечали другие, статические HTML-файлы просто возвращаются как статические файлы.Если вы хотите, чтобы переменные заменялись при каждом обращении к этим файлам, тогда определите такой обработчик из вашего .htaccess:

RewriteRule (.+\.html) vars.php?file=$1

и функции шаблона (vars.php) для работы с этими заполнителями:

<?php
    // define all placeholder variables here
    $html = file_get_contents(basename($_GET["file"]));
    print preg_replace('/\$(\w+)/e', '$GLOBALS["$1"]', $html);
?>

Но, безусловно, проще просто переименовать ваши файлы .html в .php и поместить вокруг них heredoc:

<?php
  echo<<<END
    <html>$vars</html> ...
  END;
?>
0 голосов
/ 30 декабря 2010

Я также пользуюсь шансом, что понимаю вас правильно. Если вы думаете о системе шаблонов для PHP, я рекомендую вам Smarty , что позволяет очень легко отделить HTML от php

Зачем мне использовать Smarty (когда PHP является механизмом шаблонов)?

Некоторые могут утверждать, что Smarty делает то, что PHP может сделать уже: отделить презентация из бизнес логики. Язык программирования PHP отлично подходит для разработка кода, но при смешении с HTML, синтаксис операторов PHP может быть беспорядок, чтобы управлять. Умный макияж для этого, изолируя PHP от презентация с гораздо проще основанный на тегах синтаксис. Теги показывают контент приложения, обеспечивающий чистоту отделение от PHP (приложение) код. Знание PHP не требуется для управлять шаблонами Smarty.

0 голосов
/ 30 декабря 2010

Вы можете получить apache для анализа файлов .html как PHP, добавив эту директиву в ваш .htaccess (или httpd.conf):

AddType application/x-httpd-php .htm .html 

Возможно, потребуется изменить эту строку в вашем httpd.conf:

AllowOverride None

до:

AllowOverride All

Это позволит .htaccess переопределять конфигурацию apache.

Этот ответ предполагает две вещи:

1 - что я понял вопрос.

2 - То, что вы на самом деле используете веб-сервер Apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...