Intereting Posts

Как анализировать синтаксис PHP в файле .html на сервере?

Это похоже на чрезвычайно n00b вопрос, но здесь идет …

У меня есть серия HTML-файлов с небольшим количеством содержимого HTML внутри каждой (экспортируется из живой системы). Невозможно изменить расширения файлов, так как я не буду человеком, выполняющим этот процесс «экспорт – запись на CD», когда я передам свой проект.

Вот пример страницы, ее чрезвычайно простой, это « 01.html »:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="../css/styles.css" /> <title>Introduction</title> </head> <body> <h1 class="chaptertitle">Introduction</h1> <div> <p>FBT is imposed on non-cash benefits provided to employees in addition to their normal cash salary. The main categories of fringe benefit for Administrator User are:</p> <ul> <li>The private use, or availability for private use, of an employer's motor vehicles;</li> </ul> </div> </body> </html> 

Файлы связаны с главной страницей, все отлично работает в этом отношении, но я уверен, что видел страницы с синтаксисом синтаксического анализа расширения .html, как я могу включить / сделать это? В настоящее время я думал, что могу выполнить поиск / замену таких вещей, как «Пользователь-администратор» в приведенном выше примере, примерно так:

 <?php echo $CFG->username; ?> 

… где эта переменная определена и доступна, но страница анализируется как HTML. В некотором роде это не удивительно, в некотором роде это так, как будто я говорю, что я уверен, что видел PHP-код, разбираемый в файле с расширением .html.

Он работает в стеке Server2Go (для записи на компакт-диск), но во время тестирования он работает в стеке WAMP. Я не могу многое изменить Server2Go.


Ack! Извините, чтобы уточнить:

everythign внутри <body> вытягивается и используется в контексте PHP, страница с именем « generate_book.php », которая отображает вытащенное содержимое как собственный <body> на страницах PHP.

К сожалению, это было несколько важно: P

Solutions Collecting From Web of "Как анализировать синтаксис PHP в файле .html на сервере?"

Я уверен, что вы не очень привыкли к тому, как работают Apache-движки с php. По правде говоря, это не вопрос php, а apache (если вы используете apache, что я буду предполагать)

Самый простой способ сделать это – добавить .htaccess со следующим содержимым:

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

Это в основном говорит Apache, что все .html файлы должны быть проанализированы PHP, подробнее об этом читайте здесь .

То, что вы на самом деле видели, я подозреваю, что переписывает URL, читайте больше о mod_rewrite .

Если вы не можете изменить настройку сервера, то вы SOL. Вы должны сообщить серверу, что .html-файлы должны рассматриваться как скрипты PHP. Нет никакого способа обойти это. Магически не начнет отправлять их через парсер PHP, если вы не сообщите об этом.

В настройке Apache необходимо непосредственно настроить конфигурацию, например

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

ModRewrite

 RewriteEngine on RewriteRule ^(.*).html$ $1.php 

AddType

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

Я столкнулся с проблемой, добавив переменную конфигурации, которая затем используется в вызове замены строки, чтобы заменить строку, сгенерированную с помощью экспорта, той, которую кто-то может обновить в файле конфигурации, перед записью на CD. Я могу избавиться от этого, потому что замена строки по существу является единственным PHP в этих файлах HTML. Я закрою этот вопрос после того, как … оставив для кого-нибудь, чтобы проверить / быстро прочитать.