So zeigen Sie HTML-Tags als einfachen Text an

211

Ich habe ein Eingabeformular auf meiner Website, in dem HTML zulässig ist, und ich versuche, Anweisungen zur Verwendung von HTML-Tags hinzuzufügen. Ich möchte den Text dazu

<strong>Look just like this line - so then know how to type it</strong>

Aber bisher bekomme ich nur:

Sieh genauso aus wie diese Zeile - dann weißt du, wie man sie eingibt

Wie kann ich die Tags anzeigen, damit die Benutzer wissen, was sie eingeben sollen?

user517593
quelle

Antworten:

296

Ersetzen <durch &lt;und >mit &gt;.

Darm
quelle
6
Technisch müssen Sie nur <durch & lt; damit es von den meisten Browsern erkannt wird, aber das> von & gt; ist eine gute Übung
cwallenpoole
8
@Darm -1 für die Nichterwähnung von htmlspecialchars (). Wenn es einen berechtigten Grund dafür gibt, korrigieren Sie mich bitte :)
Ronen Ness
7
Wenn der Text der Frage von PHP generiert werden soll, macht htmlspecialchars () das, was diese Antwort vorschlägt: Ersetzen Sie die Zeichen kleiner und größer als (und andere) durch ihre HTML-Entitäten . Da die Frage jedoch nicht spezifiziert ist, ist diese allgemeinere Antwort eine Obermenge aller PHP-spezifischen Antworten. Und die Frage ist wirklich über HTML.
behandeln
Im Gegensatz zu den anderen Kommentaren spart mir diese Antwort 100%. Einige der Antworten, die ich hier gefunden habe, würden sagen, benutze einfach PHP und Echo "<? // like this?>"; aber das hat überhaupt nicht geholfen, immer noch nicht zu zeigen. Auf der anderen Seite spart mir diese Antwort insgesamt 17 Zeichen und @handle hat einen Punkt, der so hochgestimmt wurde.
Ailia
235

Verwenden Sie in PHP die Funktion htmlspecialchars (), um <und zu entkommen >.

htmlspecialchars('<strong>something</strong>')
Gipfel
quelle
55

Wie viele andere gesagt haben, htmlentities()wird der Trick tun ... aber es wird wie Scheiße aussehen.

Wickeln Sie es mit einem <pre>Etikett ein und Sie behalten Ihre Einrückung.

echo '<pre>';
echo htmlspecialchars($YOUR_HTML);
echo '</pre>';
Jarrod
quelle
36

Sie sollten verwenden htmlspecialchars. Es ersetzt die folgenden Zeichen:

  • '&' (kaufmännisches Und) wird &amp;
  • '"' (doppeltes Anführungszeichen) wird, &quot;wenn ENT_NOQUOTES nicht gesetzt ist.
  • "'" (einfaches Anführungszeichen) wird &#039;nur, wenn ENT_QUOTES gesetzt ist.
  • '<' (kleiner als) wird &lt;
  • '>' (größer als) wird &gt;
Luiz Damim
quelle
13

Sie können htmlspecialchars () verwenden

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>
Nikunj K.
quelle
6

Sie müssen nur das <>s codieren :

&lt;strong&gt;Look just like this line - so then know how to type it&lt;/strong&gt;
James Montagne
quelle
5

Um HTML-Tags in einem Browser anzuzeigen, umgeben Sie die Ausgabe mit den Tags <xmp> und </ xmp>

Paulo Henrique
quelle
4
<xmp> ist jetzt veraltet, mehr als nur veraltet. Benutze es nicht.
Muhammad Abdul-Rahim
Eine schnelle Google-Suche in W3C zeigt, dass XMP für die Anzeige von vorformatiertem Text in HTML 3.2 und früheren Versionen eingeführt wurde. Als W3C das XMP-Tag ablehnte, schlug es vor, das PRE-Tag als bevorzugte Alternative zu verwenden. Update: w3.org/TR/REC-html32#xmp , w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1 Freigabe bearbeiten Follow Flag
kophygiddie
3

Sie können HTML-Entitäten verwenden, wenn Sie zum Browser zurückkehren. Dadurch wird das Tag angezeigt, anstatt dass HTML es interpretiert.

Siehe hier http://uk3.php.net/manual/en/function.htmlentities.php

Beispiel:

 echo htmlentities("<strong>Look just like this line - so then know how to type it</strong>"); 

Ausgabe:

<strong>Look just like this line - so then know how to type it</strong>
Martynthewolf
quelle
1

Verwenden Sie htmlentities () , um Zeichen zu konvertieren, die sonst als HTML angezeigt würden.

Ruben
quelle
0

Es geht auch anders...

header('Content-Type: text/plain; charset=utf-8');

Dadurch wird die gesamte Seite als einfacher Text bereitgestellt ... besser ist htmlspecialchars ...

Hoffe das hilft...

Alessandro
quelle
0

Der native JavaScript-Ansatz -

('<strong>Look just like ...</strong>').replace(/</ig, '&lt;').replace(/>/ig, '&gt;');

Genießen!

Simonbor
quelle
1
JavaScript ist in diesem Beitrag nicht markiert.
Isherwood
1
Danke dir. Es ist nützlich für mich.
Khang Dinh Hoang