Mengubah halaman web dan sumber HTML menjadi teks polos
Ambil teks polos dari sumber HTML dengan paragraf tetap utuh: hapus script dan style, tafsirkan entitas seperti &, ubah tabel jadi tab, dan bedanya dengan salin layar.
Kadang Anda hanya memegang sumber HTML, seperti tampilan HTML editor blog, templat email, atau berkas ekspor CMS, dan ingin mengambil teks isinya saja. Jika tag dihapus dengan tangan, entitas seperti & dan kode skrip mudah tertinggal.
Pipeline dasar
Resep bawaan berurutan sebagai berikut.
- Hapus tag HTML — menghapus tag, mengubah batas blok menjadi jeda baris, dan entitas menjadi karakter.
- Rapikan karakter tak terlihat dan tanda kutip — merapikan NBSP (U+00A0) hasil
dan tanda kutip melengkung menjadi karakter biasa. - Hapus spasi di awal dan akhir — menghapus spasi yang tersisa di awal baris akibat indentasi sumber.
- Hapus baris kosong — menyamakan jarak antarparagraf menjadi satu baris dengan 'Ringkas baris kosong berurutan jadi satu'.
- Rapikan spasi dan tab berurutan — meringkas spasi berderet di dalam baris menjadi satu spasi.
- Hapus tag HTML
- Rapikan karakter tak terlihat dan tanda kutip
- Hapus spasi di awal dan akhir
- Hapus baris kosong
- Rapikan spasi dan tab berurutan
Yang ditangani oleh hapus tag
- Komentar dan kode yang dieksekusi: komentar
<!-- -->serta elemen<script>,<style>,<noscript>,<template>dihapus beserta isinya. Jika hanya tagnya yang dihapus, kode JavaScript atau CSS akan tertinggal seolah bagian dari isi. - Tag blok dan jeda baris: jika 'Tag blok & <br> menjadi baris baru' aktif, baris dipisah pada
<br>serta batas elemen blok sepertip,div,h1~h6,li,tr. Tag pembuka maupun penutup sama-sama menjadi jeda baris sehingga muncul baris kosong; baris kosong yang berderet tiga atau lebih diringkas menjadi dua. - Tabel: akhir sel (
</td>,</th>) diubah menjadi tab. Jika hasilnya ditempel ke lembar kerja, kolomnya akan terpisah. - Entitas: jika 'Tafsirkan entitas seperti &' aktif, entitas bernama yang sering dipakai seperti
&<>" …dan entitas angka seperti''diubah menjadi karakter sebenarnya. Entitas bernama yang tidak dikenal alat ini dibiarkan seperti aslinya.
<h2>Pengumuman</h2> <p>Jadwal pemeliharaan minggu ini.<br>Pertanyaan ke forum Q&A.</p> <ul><li>Senin: server</li><li>Rabu: DB</li></ul> <script>track();</script>
Sumber di atas dirapikan menjadi seperti berikut.
Pengumuman Jadwal pemeliharaan minggu ini. Pertanyaan ke forum Q&A. Senin: server Rabu: DB
Jika Anda tidak ingin ada baris kosong di antara item daftar, pilih 'Hapus semua baris kosong' alih-alih meringkas baris kosong berurutan. Namun dalam hal ini baris kosong di antara paragraf juga ikut hilang.
Jika ingin mempertahankan struktur tabel
Langkah terakhir resep, rapikan spasi dan tab berurutan, secara bawaan mengaktifkan 'Gabungkan tab juga menjadi spasi' sehingga tab tabel diubah menjadi spasi. Hapus spasi di awal dan akhir juga menghapus tab di awal dan akhir baris. Untuk memakai tabel sebagai data bertanda tab, matikan 'Gabungkan tab juga menjadi spasi' pada rapikan spasi dan tab berurutan, dan matikan langkah hapus spasi di awal dan akhir.
Perbedaan dengan menyalin dari layar browser
Menyeret dan menyalin halaman web dari layar memberi hasil berbeda dengan merapikan sumber HTML memakai alat ini.
- Alat ini tidak menafsirkan CSS. Teks dari elemen yang disembunyikan dengan
display:nonejuga tetap ada di hasil. - Teks alternatif gambar (
alt) dan alamat tautan (href) hilang bersama tagnya. Jika alamat tautan diperlukan, periksa sumbernya secara terpisah sebelum menghapus tag. - Jika kalimat panjang ditulis dalam beberapa baris di dalam sumber HTML, jeda baris itu tetap ada. Dalam kasus ini, menambahkan Pulihkan jeda baris salinan PDF sesudahnya untuk menyambung baris di dalam paragraf akan membantu.
- Pada batas elemen non-blok seperti
<span>, tidak disisipkan jeda baris maupun spasi, jadi elemen yang di sumber menempel tanpa spasi akan keluar dengan teks yang menempel.
Karakter tersembunyi dalam templat email
HTML buletin kadang memuat puluhan karakter tak terlihat seperti ‌ atau ​ untuk mengatur teks pratinjau di kotak masuk. Hapus tag mengubah entitas ini menjadi pemutus lebar nol (U+200C) dan spasi lebar nol (U+200B), lalu langkah kedua resep menghapusnya. Jika langkah rapikan karakter tak terlihat dan tanda kutip dimatikan, karakter-karakter ini tertinggal di hasil, sehingga teks yang tampak normal bisa meleset saat dicari atau dibandingkan.
Jika ingin menambahkan kembali poin di depan item daftar, tambahkan tambah teks di awal/akhir baris setelah resep dan isi bagian depan dengan - . Namun karena ditambahkan ke semua baris, cara ini tidak cocok untuk hasil yang bercampur antara judul dan paragraf.
Perhatian
- Tag dihapus berdasarkan bentuk
<yang diikuti huruf Latin dan ditutup dengan>. Pada sumber langka yang nilai atributnya memuat>, sebagian bisa tersisa. - Entitas ditafsirkan setelah tag dihapus, sehingga
<b>di sumber tidak diperlakukan sebagai tag dan tetap menjadi teks<b>. Ini perilaku yang disengaja.
Daftar periksa
- Tempel seluruh sumber dan coba terapkan resep lebih dulu.
- Jika akan memakai tabel, matikan langkah yang menghapus tab.
- Jika alamat tautan diperlukan, amankan sebelum menghapus tag.
Terakhir diperbarui: 2026-09-23