Вам нужно отформатировать распечатку из print_r () в PHP, чтобы она была проверена с помощью W3C? - PullRequest
0 голосов
/ 10 февраля 2010

Это не будет проверено из-за вывода из print_r, не предполагается ли его использовать "на сайте" или нужно его отформатировать определенным образом?

  <?php
   $stuff1 = $_POST["stuff1"];//catch variables
   $stuff2 = $_POST["stuff2"]; 
   $stuff3 = $_POST["stuff3"]; 
   $myStuff[0] = $stuff1;//put into array
   $myStuff[1] = $stuff2;
   $myStuff[2] = $stuff3;

   print_r($myStuff);

  ?>

Ответы [ 3 ]

5 голосов
/ 10 февраля 2010

Валидатор не может отличить вывод print_ \ r () от окружающей html-структуры; он просто анализирует весь поток символов. Если выходные данные вашего print_r () содержат символы, которые имеют особое значение в html (очевидно, <и> в вашем случае), валидатор должен предположить, что он принадлежит структуре html, а не текстовым данным. Вы должны пометить их как «нет, это просто текстовые данные, а не управляющий символ» для HTML-парсеров. Один из способов сделать это - отправить сущностей вместо самого "реального" символа, например, & Lt; вместо <<br> Функция htmlspecialchars () заботится о тех символах, которые всегда имеют особое значение в (x) html.
Вы также можете заключить вывод в элемент

....
, чтобы сохранить форматирование print_r ().

<code>echo '<pre>', htmlspecialchars(print_r($myStuff, true)), "
\ п ";
5 голосов
/ 10 февраля 2010

print_r() в основном разработан как полезный инструмент для разработчиков, а не для реального производственного использования, как могли бы увидеть конечные пользователи. Таким образом, вам не следует пытаться проверить это - если вы находитесь на этапе, когда вы пытаетесь получить материал для проверки, вам все равно не следует использовать print_r.

1 голос
/ 10 февраля 2010

Обычный print_r выводит текст, поэтому нет причин не влиять на проверку. Чтобы распечатать его в формате HTML на странице, используйте <pre>:

<code>$printout = print_r($my_var);
echo "<pre>$printout
";

Если вы не хотите отображать его, а видите только как разработчика, поместите его в HTML (<!-- any text -->).

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