Обнаружена ошибка в выводе xHTML из-за переменных PHP, $ _SERVER и <ADDRESS> - PullRequest
0 голосов
/ 02 сентября 2010

У меня проблема с проверкой документа, который содержит некоторые основные переменные PHP. В основном я использую html h1, h2 и предварительные коды для форматирования текста.

Моя проблема в том, что когда я проверяю документ, он выходит с ошибкой.

Проблемной областью является эта часть файла:

<code><h2>Server Info</h2>

<pre>
<?php
echo $_SERVER;
print_r(var_dump($_SERVER));
?>

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

Вот ссылка на страницу проверки: http://goo.gl/napu РЕДАКТИРОВАТЬ: Ссылка на полный источник HTML, который получает ошибку: http://pastebin.com/Kc6wh5s6

2-Й РЕДАКТИРОВАТЬ: Использовал Pekka предложение и вставил фрагмент PHP, и теперь страница прошла Спасибо!

1 Ответ

2 голосов
/ 02 сентября 2010

Проблема в том, что дамп $_SERVER содержит код, похожий на элемент XML, а именно <ADDRESS>.Валидатор обязан иметь дело с этим, как и с любым другим элементом HTML, и терпит неудачу.

Решение было бы запустить htmlentities() над выводом для маскировки любого включенного HTML или XML, например, так:1006 *

$result = print_r($_SERVER, true);
echo htmlentities($result);
...