Почему этот код JavaScript EOF не появляется в html, когда он отображается? - PullRequest
2 голосов
/ 25 июля 2011

В этом php-коде я использую heredoc EOF для вставки некоторого JavaScript:

        $room= <<<EOF
<script type="text/javascript" charset="utf-8">
test;
            </script>
EOF;

когда я пытаюсь отобразить номер, он не появляется:

echo "<li style=\"text-align: center;\"><img src=\"example.com\" width=\"264\" height=\"198\" alt=\"\" /> $room</li>";

($ room не отображается в html).

однако, если я сделаю то же самое с:

$room= <<<EOF
test;
EOF;

Затем слово html повторяется в тестовом элементе моего списка.

РЕДАКТИРОВАТЬ - чтобы уточнить, что ничего не появляется в источнике HTML, когда я делаю первую попытку эха (появляется список, но нет тегов сценария или теста внутри него).

1 Ответ

1 голос
/ 25 июля 2011
<script type="text/javascript" charset="utf-8">
  test;
</script>

в принципе ничего не значит для JavaScript.Я предполагаю, что вы хотите (в смысле вывода чего-либо хотя бы):

<script type="text/javascript" charset="utf-8">
  document.write('test');
</script>

Если вы буквально хотите отобразить тег сценария, попробуйте:

echo '<li style="text-align: center;"><img src="example.com" width="264" height="198" alt="" />', htmlspecialchars($room), '</li>';
...