Почему мои теги <pre>и <code>читают разметку, а не создают фрагменты кода? - PullRequest
1 голос
/ 25 января 2010

Я работаю над этой страницей ресурсов для Церквей, которые хотят помочь моей организации (CURE International) в усилиях по ликвидации последствий землетрясения на Гаити: http://blog.helpcurenow.org/test/mockups/jan2010/jan2010_haiti_church_resources.html

Проблема, с которой я столкнулся, заключается в том, что на шаге 4 вы увидите, что я создал рекламные баннеры и пытаюсь создать фрагменты кода (так называемые блоки кода), которые пользователи могут скопировать и вставить в свой блог / сайт. /whatever.

Я использовал теги «pre» и «code», но браузер по-прежнему отображает HTML вместо отображения разметки в виде текста.

Кто-нибудь может мне помочь, почему я получаю этот результат?

Вот пример разметки:

<li class="haitiWebBanner">
<p class="webBannerSize">300 x 250</p>
<a href="http://helpcurenow.org/haitirelief"><img src="http://static.helpcurenow.org/images/campaigns/jan2010/haiticrisis/cure-haiti-banner-300x250.jpg" title="Click Here to Donate Now!" alt="Help save lives in Haiti by supporting the relief effort through CURE International" width="300" height="250" border="0" /></a>

<pre><code class="html"><a href="http://helpcurenow.org/haitirelief"><img src="http://static.helpcurenow.org/images/campaigns/jan2010/haiticrisis/cure-haiti-banner-300x250.jpg" title="Click Here to Donate Now!" alt="Help save lives in Haiti by supporting the relief effort through CURE International" width="300" height="250" border="0" /></a>

Ответы [ 5 ]

5 голосов
/ 25 января 2010

«Код» означает «Код с маркировкой»

«Предварительно» означает «Эти данные были предварительно отформатированы» (в отношении пробелов)

Ни один из них не означает "Эти данные не должны рассматриваться как HTML"

Представляет & как &amp;, < как &lt; и > как &gt;.

3 голосов
/ 25 января 2010

Вам по-прежнему нужно учитывать специальные символы & lt; и & gt;

<pre><code class="html">&gt;a href=......... &lt;
2 голосов
/ 25 января 2010

Пара тегов

 не меняет способ анализа содержимого в них браузером (т. Е. HTML-теги, которые браузер должен анализировать). Скорее, он просто сообщает браузеру, что содержимое внутри пары не отформатировано и должно быть представлено пользователю как таковое. 

Что вам нужно сделать, это экранировать HTML (т. Е. От «<» до «& lt;» и т. Д.), Чтобы браузер знал, что он должен отображать необработанные символы.

1 голос
/ 25 января 2010

Это потому, что код и предварительные теги не работают таким образом. Измените ваш «<» на «& lt;» и от «>» до «& gt;» и это будет работать так, как вы хотите.

1 голос
/ 25 января 2010

Для кода в тегах

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