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?

Jawaban:


296

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


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


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>';

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;

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;
?>

6

Anda hanya perlu menyandikan <>s:

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

5

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


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>


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...


0

Pendekatan JavaScript asli -

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

Nikmati!


1
JavaScript tidak ditandai di pos ini.
isherwood

1
Terima kasih. Ini berguna bagi saya.
Khang Dinh Hoang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.