Ich verwende ein <code>
Tag innerhalb eines <pre>
Tags, um Code in meinem Blogger-Blog anzuzeigen. Leider funktioniert es nicht mit HTML-Tags. Gibt es eine Möglichkeit, " <div>
" innerhalb <pre>
oder eines <code>
Tags anzuzeigen, ohne es tatsächlich als HTML zu interpretieren? Das mache ich gerade:
<pre>
<code>
.class {
color:red;
}
// I would like HTML code inside this
</code>
</pre>
Welches funktioniert in Ordnung für alles außer HTML. Irgendeine Idee, wie man das erreicht? Vielen Dank.
<![CDATA[]]>
Abschnitt; Viel Glück beim Warten darauf, dass die Browser-Autoren 1988 zwischen dem Hinzufügen von Kewl-Fußschützen einholen.Antworten:
<code>
bedeutet "Dies ist Code",<pre>
bedeutet "Leerzeichen in diesem Markup sind signifikant". Beides bedeutet nicht "Der Inhalt dieses Elements sollte nicht als HTML behandelt werden", daher funktionieren beide einwandfrei, auch wenn sie nicht bedeuten, was sie bedeuten sollen.Wenn Sie ein
<
Zeichen rendern möchten, verwenden Sie<
, mit>
für>
und&
für&
.Sie können (in modernem HTML) kein Markup schreiben und es als Text interpretieren lassen.
quelle
Es scheint, als würde ein schreibgeschützter Textbereich so ziemlich das tun, was Sie wollen.
<textarea readonly> <!-- html code --> </textarea>
quelle
Sie können das Element "xmp" verwenden. Das
<xmp></xmp>
war von Anfang an in HTML und wird von allen Browsern unterstützt. Auch wenn es nicht verwendet werden sollte, wird es weitgehend unterstützt.Alles im Inneren
<xmp></xmp>
wird so genommen, wie es ist (dort werden keine Markup-Tags oder Zeichenreferenzen erkannt), außer aus offensichtlichen Gründen das End-Tag des Elements selbst.Andernfalls wird "xmp" wie "pre" gerendert.
quelle
xmp
wird von netten Sachen wie Einbetten verwendetmarkdown
xmp
Möglicherweise veraltet, aber es ist bis heute eine HTML-Spezifikation, die dies unterstützt (weshalb dies bei allen gängigen Browsern der Fall ist). Ich würde mir vorstellen, dass es niemals vollständig veraltet wird, da es das einzige Etikett seiner Art ist und heute häufiger verwendet wird als damals, als es als veraltet galt.Versuchen:
<xmp></xmp>
zum Beispiel:
<pre> <xmp><!-- your html code --></xmp> </pre>
Tschüss
quelle
Entfliehen Sie einfach den HTML-Tags. Zum Beispiel -
Ersetzen Sie < durch
<
Ersetzen Sie > durch
>
Vollständige Suche hier
quelle
Dies kann leicht mit ein wenig Javascript erreicht werden.
document.querySelectorAll("code").forEach(el => el.innerText = el.innerHTML);
Führen Sie das folgende Snippet aus, um es in Aktion zu sehen:
document.querySelectorAll("code").forEach(el => el.innerText = el.innerHTML);
pre { padding: 1rem; background-color: #eee; border-radius: 0.25rem; }
<pre> <code> .class { color:red; } // I would like HTML code inside this <h1>Hello this is a heading</h1> </code> </pre>
quelle
Versuchen Sie CodeMirror ( https://codemirror.net/ )
Es ist eine leichtgewichtige Bibliothek, die Code in HTML formatiert. Hier ist ein Screenshot von dem, worauf ich mich beziehe:
Hat bei uns gut funktioniert!
quelle
Vielleicht nicht die beste Antwort, aber Sie können so etwas tun:
<p><<input type="hidden">h1<input type="hidden">><input type="hidden">This code is displayed!<input type="hidden"><<input type="hidden">/h1<input type="hidden">></p>
<p><<input type="hidden">h1<input type="hidden">><input type="hidden">This code is displayed!<input type="hidden"><<input type="hidden">/h1<input type="hidden">></p>
quelle
Benutze das:
<pre> <?= htmlentities($script) ?> </pre>
quelle
Ja, mit einer Escape-XML-Funktion. Sie müssen jQuery aktiviert haben, damit es funktioniert.
<pre> ${fn:escapeXml(' <!-- all your code --> ')}; </pre>
quelle