Самый легкий способ преобразовать страницу PHP в статическую страницу HTML

Я прокомментировал настройки прокси в моем файле ~ / .m2 / settings.xml, оставил только информацию о Intellij Proxy, а затем предоставил свойства в Setting-> Maven. Не уверен, почему это сработало (и почему файл settings.xml не работал правильно), но теперь он работает.

6
задан Yogi Yang 007 30 May 2009 в 09:50
поделиться

2 ответа

Вы можете использовать выходные буферы. Если у вас есть html-страница, например:

   <html>
      <head>
         <title>Blah</title>
      </head>
      <body>
        Some text here
      </body>
   </html>

Затем, если вы поместите вверху html-файла:

<?php ob_start(); ?>

И справа внизу, после последнего тега, поместите:

<?php 
   $string = ob_get_contents(); 

   //do whatever you need to do to the html, save it to a seperate file, email it, etc

   ob_flush();
?>

В основном это означает что переменная $ string будет содержать весь статический HTML-код страницы после ее динамического создания. Затем вы можете использовать эту строку в электронном письме. Хотя на самом деле html-страницы работают по-разному в электронных письмах, так что вы можете пересмотреть подход.

12
ответ дан 8 December 2019 в 18:41
поделиться

Это сложно сделать автоматически по нескольким причинам:

  1. Если, по вашему мнению, поддержка HTML в браузерах была плохой, почтовые программы на порядок хуже. По сути, вы должны писать HTML, как это было в 1999 году, поэтому HTML 3.2 / 4.0, без CSS;
  2. У вас есть выбор: включать изображения в качестве внешних ссылок или вставлять их прямо в электронное письмо. Внешние ссылки занимают меньше места, но многие почтовые программы блокируют их, поскольку они используются спамерами для пометки активных адресов (делая каждый URL-адрес изображения, который они отправляют, уникальным, и таким образом они могут определить, какое электронное письмо было открыто). Встроенные изображения используют немного другой справочный формат;
  3. Поддержка CSS должна в основном рассматриваться как несуществующая. Весь CSS должен быть внутренним;
  4. Лучше всего при отправке электронной почты HTML также отправлять текстовую версию для клиентов, которые либо не нет поддержки HTML или пользователь отключил ее (да, это действительно происходит). И нет хорошего способа превратить сложную HTML-страницу в текстовый эквивалент. В основном это нужно делать вручную; и
  5. Содержание электронной почты отличается от содержания веб-страницы. На веб-страницах обычно есть поля поиска, меню, боковые панели, верхние и нижние колонтитулы и т. Д. Это все вещи, которые вам неинтересны. Вас интересует только содержание страницы. Так что блоги хорошо подходят для этого, потому что содержимое сообщения блога можно легко извлечь. С произвольными страницами сложнее.

Таким образом, есть разные способы сделать это, например, использовать cURL для получения веб-страницы, использовать буферизацию вывода для захвата страницы с помощью require / include и т. Д., Но все эти методы страдают от одного или нескольких из вышеуказанные проблемы. Я'

1
ответ дан 8 December 2019 в 18:41
поделиться