Cara menampilkan tag HTML sebagai teks biasa

211

Saya memiliki formulir input di situs web saya di mana HTML diizinkan dan saya mencoba menambahkan instruksi tentang penggunaan tag HTML. Saya ingin teksnya

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

Tapi sejauh ini yang saya dapatkan adalah:

Terlihat seperti baris ini - jadi ketahuilah cara mengetiknya

Bagaimana saya bisa menunjukkan tag sehingga orang tahu apa yang harus diketik?

pengguna517593
sumber

Jawaban:

296

Ganti <dengan &lt;dan >dengan &gt;.

Darm
sumber
6
Secara teknis Anda hanya perlu mengganti <oleh & lt; untuk dikenali oleh sebagian besar browser, tetapi> oleh & gt; adalah praktik yang baik
cwallenpoole
8
@ Ketik -1 untuk tidak menyebutkan htmlspecialchars (). Jika ada alasan yang dibenarkan untuk itu tolong perbaiki saya :)
Ronen Ness
7
Jika teks pertanyaan dihasilkan oleh PHP, htmlspecialchars () melakukan apa yang disarankan jawaban ini: ganti tanda-tanda yang kurang dari dan lebih besar dari (dan lainnya) dengan entitas HTML mereka . Tetapi pertanyaannya tidak menentukan, jadi jawaban yang lebih umum ini adalah superset dari semua jawaban khusus PHP. Dan pertanyaannya adalah tentang HTML.
tangani
Berbeda dengan komentar lain, jawaban ini menyelamatkan saya 100%, beberapa jawaban yang saya temukan di sini akan mengatakan cukup gunakan php dan gema "<? // suka ini?>"; tapi itu tidak membantu sama sekali masih tidak muncul. Di sisi lain, jawaban ini menyelamatkan saya total 17 karakter plus @handle ada benarnya begitu memilih.
Ailia
235

Dalam PHP gunakan fungsi htmlspecialchars () untuk melarikan diri <dan >.

htmlspecialchars('<strong>something</strong>')
puncak
sumber
55

Seperti yang banyak orang lain katakan, htmlentities() akan melakukan trik ... tetapi itu akan terlihat seperti omong kosong.

Bungkus dengan <pre>tag dan Anda akan mempertahankan lekukan Anda.

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

Anda harus menggunakan htmlspecialchars. Ini menggantikan karakter seperti di bawah ini:

  • '&' (ampersand) menjadi &amp;
  • '"' (kutipan ganda) menjadi &quot; saat ENT_NOQUOTES tidak disetel.
  • "'" (kutipan tunggal) menjadi &#039; hanya ketika ENT_QUOTES diset
  • '<' (kurang dari) menjadi &lt;
  • '>' (lebih besar dari) menjadi &gt;
Luiz Damim
sumber
13

Anda dapat menggunakan htmlspecialchars ()

<?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.
sumber
6

Anda hanya perlu menyandikan <>s:

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

Untuk menampilkan tag HTML dalam browser, mengelilingi output dengan tag <xmp> dan </ xmp>

Paulo Henrique
sumber
4
<xmp> sudah usang sekarang, lebih dari sekedar usang. Jangan gunakan itu.
Muhammad Abdul-Rahim
Pencarian Google cepat pada W3C mengungkapkan bahwa XMP diperkenalkan untuk menampilkan teks yang telah diformat dalam HTML 3.2 dan sebelumnya. Ketika W3C menghentikan tag XMP, disarankan menggunakan tag PRE sebagai alternatif pilihan. Update: w3.org/TR/REC-html32#xmp , w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1 pangsa mengedit tindak bendera
kophygiddie
3

Anda dapat menggunakan htmlentities saat menggema ke browser, ini akan menunjukkan tag daripada memiliki html menafsirkannya.

Lihat di sini http://uk3.php.net/manual/en/function.htmlentities.php

Contoh:

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

Keluaran:

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

Gunakan htmlentities () untuk mengonversi karakter yang seharusnya ditampilkan sebagai HTML.

Ruben
sumber
0

Ada cara lain ...

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

Ini membuat seluruh halaman disajikan sebagai teks biasa ... lebih baik adalah htmlspecialchars ...

Semoga ini membantu...

Alessandro
sumber
0

Pendekatan JavaScript asli -

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

Nikmati!

simonbor
sumber
1
JavaScript tidak ditandai di pos ini.
isherwood
1
Terima kasih. Ini berguna bagi saya.
Khang Dinh Hoang