Иметь HTML в строке - нужно показать его как отдельную HTML-страницу с помощью кода - PullRequest
0 голосов
/ 10 июля 2010

У меня есть скрипт, который принимает html от пользователя, как и html полной страницы, либо от пользователя, либо захватывает его с помощью curl или по электронной почте.Дело в том, что у меня есть html в строке, но на той же странице мне нужно показать htmnl в отдельном iframe.Я не хочу переписывать какую-либо базу данных, код curl или imap на странице, на которую ссылается iframe - есть ли способ показать мне html, переданный как-то в URL?как в переменной get ... здесь может быть огромный html ... извините, если это звучит странно.

Ответы [ 4 ]

1 голос
/ 10 июля 2010

Вы можете поместить захваченный html во временный файл и поместить ссылку на этот временный файл в src="" iframe.

Создайте их, используя tempnam(), затем создайте небольшой скрипт, который получает (желательно запутанный) имя файла и просто распечатывает его, если это действительно временный файл, созданный вами.

Будь осторожен! если он не очень хорошо проверяет имя файла, вы предоставляете полный доступ на чтение к вашему серверу ... Поместите ссылку на этот скрипт в src iframe. Вы также можете создавать временные файлы в общедоступной папке вашего сервера www, но я бы не хотел, чтобы там находились временные / мусорные файлы.

0 голосов
/ 10 июля 2010

Я не совсем уверен, что вы хотите сделать, но вы всегда можете опубликовать строку как переменную POST, нет ограничений на их длину.

0 голосов
/ 10 июля 2010

Вы можете кодировать фрагменты HTML с помощью urlencode, который автоматически декодируется при извлечении его с помощью $_GET, или вы можете использовать, например, base64_encode и base64_decode.Проблема в том, что существуют ограничения на $_GET и $_POST.И то, и другое можно настроить в настройках вашей конфигурации, но отправка больших объемов данных через URL на самом деле не завершена, потому что это не то, как их следует использовать.

Но если я правильно прочитал ваш вопрос, вы можете получитьHTML в верхней части страницы, а затем загрузить его в iframe?

if ($_GET['url']) {
  $html = file($_GET['url']);
}
if ($_POST['html']) {
  $html = $_POST['html'];
}

И затем включить его:

<html>
..
<iframe ..><php echo $html; ?></iframe>
..
</html>
0 голосов
/ 10 июля 2010

( если я не неправильно понимаю ваш вопрос )

Вы можете поместить строку в текстовое поле внутри формы и отправить форму ..

на принимающей страницебудет читать опубликованные данные и отображать их на странице ..

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