Bagaimana saya bisa menampilkan cuplikan HTML pada halaman web tanpa harus mengganti masing <
- masing dengan <
dan >
dengan >
?
Dengan kata lain, apakah ada tag untuk jangan membuat HTML sampai Anda menekan tag penutup ?
Tidak , tidak ada. Dalam HTML yang tepat, tidak ada jalan keluar dari beberapa karakter:
&
sebagai &
<
sebagai <
(Kebetulan, tidak perlu melarikan diri >
tetapi orang sering melakukannya karena alasan simetri.)
Dan tentu saja Anda harus mengelilingi kode HTML yang dihasilkan, lolos <pre><code>…</code></pre>
ke dalam (a) melestarikan spasi putih dan jeda baris, dan (b) menandainya sebagai elemen kode.
Semua solusi lain, seperti membungkus kode Anda ke <textarea>
dalam <xmp>
elemen (atau usang) , akan rusak . 1
XHTML yang dinyatakan browser sebagai XML (melalui HTTP Content-Type
header - hanya menetapkan! DOCTYPE
Adalah tidak cukup ) alternatif bisa menggunakan bagian CDATA:
<![CDATA[Your <code> here]]>
Tetapi ini hanya berfungsi dalam XML, bukan dalam HTML, dan bahkan ini bukan solusi yang mudah, karena kode tidak boleh mengandung pembatas penutup ]]>
. Jadi, bahkan dalam XML, solusi paling sederhana dan paling kuat adalah melalui pelolosan.
1 Contoh kasus:
>
dengan>
<
dan&
perlu diganti, unescaped>
valid di dalam HTML.Metode yang dicoba dan benar untuk HTML:
&
karakter dengan&
<
karakter dengan<
>
karakter dengan>
<pre>
dan / atau<code>
tag.sumber
&
pertama dan<
sesudahnya.Cara terbaik:
sampel lama:
sampel 1 :
sampel 2 :
contoh 3 : (Jika Anda benar-benar "mengutip" satu blok kode, maka markupnya adalah
contoh CSS yang bagus:
Kode penyorot sintaks (Untuk pekerjaan profesional):
pelangi (sangat sempurna)
mendandani
syntaxhighlighter
menyoroti
JSHighlighter
tautan terbaik untuk Anda:
http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-how-to-add-syntax-highlighting-to-any-project/
https://github.com/balupton/jquery-syntaxhighlighter
http://bavotasan.com/2009/how-to-wrap-text-within-the-pre-tag-using-css/
http://alexgorbatchev.com/SyntaxHighlighter/
https://code.google.com/p/jquery-chili-js/
Bagaimana cara menyoroti kode sumber dalam HTML?
sumber
Jenis metode naif untuk menampilkan kode akan memasukkannya ke dalam textarea dan menambahkan atribut yang dinonaktifkan sehingga tidak dapat diedit.
Semoga itu membantu seseorang mencari cara mudah untuk menyelesaikan sesuatu ..
sumber
Sudah usang , tetapi bekerja di FF3 dan IE8.
Direkomendasikan:
sumber
saya menggunakan
<xmp>
seperti ini: http://jsfiddle.net/barnameha/hF985/1/sumber
<xmp>
Tag yang sudah usang pada dasarnya melakukan itu tetapi tidak lagi menjadi bagian dari spesifikasi XHTML. Itu masih harus bekerja meskipun di semua browser saat ini.Ini ide lain, trik hack / salon, Anda bisa memasukkan kode ke dalam teks seperti:
Menempatkan tanda kurung sudut dan kode seperti ini di dalam area teks adalah HTML yang tidak valid dan akan menyebabkan perilaku yang tidak terdefinisi di browser yang berbeda. Di Internet Explorer HTML diartikan, sedangkan Mozilla, Chrome dan Safari membiarkannya tidak diinterpretasikan.
Jika Anda ingin itu tidak dapat diedit dan terlihat berbeda maka Anda dapat dengan mudah gaya menggunakan CSS. Satu-satunya masalah adalah bahwa browser akan menambahkan pegangan seret kecil di sudut kanan bawah untuk mengubah ukuran kotak. Atau sebagai alternatif, coba gunakan tag input saja.
Cara yang tepat untuk menyuntikkan kode ke dalam textarea Anda adalah dengan menggunakan bahasa sisi server seperti PHP ini misalnya:
Kemudian ia memotong penerjemah html dan menempatkan teks yang tidak diinterpretasikan ke dalam textarea secara konsisten di semua browser.
Selain itu, satu-satunya cara adalah keluar dari kode sendiri jika HTML statis atau menggunakan metode sisi server seperti .NET's HtmlEncode () jika menggunakan teknologi tersebut.
sumber
<textarea disabled="true" style="border: none;background-color:white; width:100%">
Dalam HTML? Tidak.
Dalam XML / XHTML? Anda bisa menggunakan
CDATA
blok.sumber
Ini sangat sederhana .... Gunakan kode xmp ini
sumber
Saya berasumsi:
<
tidak perlu melarikan diriSemua opsi Anda ada di pohon ini:
<p>
)<
"
dan&thing;
perlu melarikan diri:"
dan&thing;
masing - masing<script>
dan<style>
hanya</script
tidak diizinkan di mana pun di Indonesia<script>
<textarea>
dan<title>
hanya<textarea>
adalah kandidat yang baik untuk membungkus kode</html>
di sana</textarea
karena alasan yang jelas</textarea
atau serupa&thing;
kebutuhan untuk melarikan diri:&thing;
Catatan:
>
tidak perlu melarikan diri. Bahkan dalam elemen normal sekalipun.sumber
<script>
dan<style>
dapat ditampilkan, cukup letakkan di dalam<body>
withstyle="display: block; white-space: pre;"
dantype="text/html"
atau sesuatu jika Anda tidak ingin dieksekusi sebagai JavaScript. Trik yang cukup bagus menurut saya, bagus untuk pemrograman dan pengajaran yang melek. Juga<xmp>
masih diterapkan di browser utama, meskipun sudah usang.<xmp>
bukan HTML5 yang valid, tetapi trik Anda yang lain terlihat tepat!Jika tujuan Anda adalah untuk menunjukkan sepotong kode yang Anda jalankan di tempat lain pada halaman yang sama, Anda dapat menggunakan textContent (ini murni-js dan didukung dengan baik: http://caniuse.com/#feat=textcontent )
Untuk mendapatkan pemformatan multi-garis di hasilnya, Anda perlu mengatur gaya css "white-space: pre;" pada target div, dan tulis baris secara individual menggunakan "\ r \ n" di akhir masing-masing.
Berikut ini demo: https://jsfiddle.net/wphps3od/
Metode ini memiliki keunggulan dibandingkan menggunakan textarea: Kode tidak akan diformat ulang seperti dalam textarea. (Hal-hal seperti
dihapus seluruhnya dalam textarea)sumber
<template>
atau sesuatu yang biasanya tidak diberikan.Pada akhirnya jawaban terbaik (meskipun menjengkelkan) adalah "lepas teks".
Namun ada banyak editor teks - atau bahkan utilitas mini yang berdiri sendiri - yang dapat melakukan ini secara otomatis. Jadi Anda tidak perlu melarikan diri secara manual jika Anda tidak mau (Kecuali jika itu adalah kombinasi kode yang lolos dan yang tidak diloloskan ...)
Pencarian Google cepat menunjukkan kepada saya yang ini, misalnya: http://malektips.com/zzee-text-utility-html-escape-regular-expression.html
sumber
berfungsi dengan baik untuk saya ..
"Mengingat
Alexander's
saran, inilah mengapa saya pikir ini adalah pendekatan yang baik"jika kita coba polos,
<textarea>
itu mungkin tidak selalu berhasil karena mungkin adatextarea
tag penutup yang salah menutup tag induk dan menampilkan sisa sumber HTML pada dokumen induk, yang akan terlihat canggung.menggunakan
htmlentities
konversi semua karakter yang berlaku seperti< >
ke entitas HTML yang menghilangkan kemungkinan kebocoran.Mungkin ada manfaat atau kekurangan untuk pendekatan ini atau cara yang lebih baik untuk mencapai hasil yang sama, jika demikian silakan berkomentar karena saya ingin belajar dari mereka :)
sumber
Anda bisa menggunakan bahasa sisi server seperti PHP untuk memasukkan teks mentah:
lalu buang nilai
$str
htmlencoded:sumber
Ini adalah trik sederhana dan saya sudah mencobanya di Safari dan Firefox
Ini akan ditampilkan seperti ini:
Anda bisa melihatnya langsung di sini
sumber
Sebenarnya ada adalah cara untuk melakukan hal ini. Ini memiliki batasan (satu), tetapi standar 100%, tidak usang (seperti xmp), dan berfungsi.
Dan itu sepele. Ini dia:
Tolong izinkan saya menjelaskan. Pertama-tama, komentar HTML biasa berfungsi, untuk mencegah seluruh blok ditafsirkan. Anda dapat dengan mudah menambahkan tag apa pun di dalamnya, semuanya akan diabaikan. Diabaikan dari interpretasi, tetapi masih tersedia via
innerHTML
! Jadi yang tersisa, adalah untuk mendapatkan konten, dan memfilter token komentar sebelumnya dan tertinggal.Kecuali (ingat - batasannya) Anda tidak dapat memasukkan komentar HTML di dalamnya, karena (setidaknya di Chrome saya) tidak ada yang mendukung, dan '->' pertama akan mengakhiri pertunjukan.
Yah, itu adalah batasan kecil yang tidak menyenangkan, tetapi dalam kasus-kasus tertentu itu tidak masalah sama sekali, jika teks Anda bebas dari komentar HTML. Dan, lebih mudah untuk lolos dari satu konstruksi, lalu sejumlah besar dari mereka.
Sekarang, apa
LlNnlljn77fggggkk77csJJK8bbJBKJBkjjjjbbbJJLJLLJo
string aneh itu ? Ini string acak, seperti hash, tidak mungkin digunakan di blok, dan digunakan untuk? Inilah konteksnya, mengapa saya menggunakannya. Dalam kasus saya, saya mengambil konten dari satu DIV, lalu memprosesnya dengan penurunan harga Showdown, dan kemudian output ditugaskan ke div lain. Idenya adalah, untuk menulis penurunan harga inline dalam file HTML, dan cukup buka di browser dan itu akan berubah pada beban on-the-fly. Jadi, dalam kasus saya,<!--
diubah menjadi<p><!--</p>
, komentar dengan benar lolos. Itu berhasil, tetapi mencemari layar. Jadi, untuk menghapusnya dengan regex, string acak digunakan. Berikut kodenya:Dan itu berhasil.
Jika seseorang tertarik, artikel ini ditulis menggunakan teknik ini. Jangan ragu untuk mengunduh, dan lihat ke dalam file HTML.
Tergantung untuk apa Anda menggunakannya. Apakah itu input pengguna? Kemudian gunakan
<textarea>
, dan lepaskan semuanya. Dalam kasus saya, dan mungkin Anda juga, saya hanya menggunakan komentar, dan itu berhasil.Jika Anda tidak menggunakan markdown, dan hanya ingin mendapatkannya dari tag, maka itu lebih sederhana:
dan kode JavaScript untuk mendapatkannya:
sumber
Ada beberapa cara untuk menghindari semuanya dalam HTML, tidak ada yang bagus.
Atau Anda bisa memasukkan
iframe
yang memuat file teks biasa.sumber
Sejauh ini, ini adalah metode terbaik untuk sebagian besar situasi:
Saya akan memilih orang pertama yang menyarankannya tetapi saya tidak memiliki reputasi. Saya merasa terdorong untuk mengatakan sesuatu demi orang-orang yang mencoba menemukan jawaban di Internet.
sumber
Beginilah cara saya melakukannya:
sumber
itu akan mengembalikan Html yang lolos
sumber
Kamu bisa mencoba:
sumber
Ini mungkin tidak berfungsi di setiap situasi, tetapi menempatkan potongan kode di dalam
textarea
akan menampilkannya sebagai kode.Anda bisa menata textarea dengan CSS jika Anda tidak ingin itu terlihat seperti textarea yang sebenarnya.
sumber
Ini sedikit meretas, tetapi kita bisa menggunakan sesuatu seperti:
Dengan CSS itu, browser akan menampilkan skrip di dalam tubuh. Itu tidak akan mencoba untuk mengeksekusi skrip ini, karena memiliki jenis yang tidak dikenal
text/html
. Tidak perlu keluar dari karakter khusus di dalam<script>
, kecuali jika Anda ingin menyertakan</script>
tag penutup .Saya menggunakan sesuatu seperti ini untuk menampilkan JavaScript yang dapat dieksekusi di badan halaman, untuk semacam "melek huruf progamming".
Ada beberapa info lagi dalam pertanyaan ini Kapan seharusnya tag terlihat dan mengapa bisa? .
sumber
sumber
Kombinasi jawaban pasangan yang bekerja bersama di sini:
sumber