Альтернатива CDATA для HTML - PullRequest
1 голос
/ 26 марта 2012

Я хочу отображать строки типа & на странице HTML, но она отображается как &.Есть ли возможность сказать браузеру отображать текст без обработки, что-то вроде CDATA в XML.

PS.на стороне сервера я использую Java

Ответы [ 2 ]

4 голосов
/ 26 марта 2012

Обычно вы должны делать то, что предложено в ответе Дейла Баррелла. Это просто требует немного дополнительных операций и, возможно, осторожности Если вам нужно отобразить &, то вам нужно просто позаботиться о & и ввести остальные значения как обычно.

Но там есть секретный код, тег xmp . Он хорошо поддерживается в браузерах, хотя, вероятно, никогда не вернется к спецификациям. Более того, в дополнение к буквальному отображению всего содержимого оно отображается как блок с вертикальными полями и моноширинным шрифтом. Это может быть выполнено в CSS, с обычными оговорками, например

<style>
body, xmp { font-family: Calibri, sans-serif; }
xmp { display: inline; }
</style>
I want to display strings like <xmp>&amp;</xmp> in an HTML.   

Обычно нет смысла использовать xmp, но это может быть удобно для больших объемов данных, когда разметка HTML должна отображаться как есть. Тогда вам может даже потребоваться рендеринг по умолчанию без таблицы стилей, описанной выше.

3 голосов
/ 26 марта 2012

Нет, эти символы предназначены специально для отображения таким образом.Вместо этого вы можете отправить &amp;amp;, который будет отображаться по вашему желанию.В зависимости от того, какой язык на стороне сервера вы используете, вероятно, будет функция HTMLEncode, которая сделает это за вас.

ps - PRE & CODE не работают для символов HTML.

...