Teks Truncator

Pendekkan teks pada batas karakter atau kata dengan akhiran yang dapat disesuaikan.

Cara kerja

  1. Tempel teks Anda: masukkan atau tempel teks apa pun di bidang, artikel, deskripsi, postingan media sosial, atau konten apa pun yang ingin dipendekkan.
  2. Atur batas: pilih batas karakter atau kata yang sesuai untuk platform target Anda (mis. 160 untuk meta description, 280 untuk Twitter).
  3. Salin hasilnya: teks yang dipotong muncul seketika. Klik Salin untuk mendapatkan versi yang dipendekkan, siap digunakan.

Mengapa menggunakan pemotong teks?

Setiap platform memiliki batas panjang, Twitter, meta description, bidang basis data, notifikasi, dan SMS memberlakukan batas karakter yang ketat. Pemotongan manual sering memotong canggung di tengah kata atau menyisakan tanda baca yang menggantung. Alat ini memotong dengan cerdas pada batas kata dan memungkinkan Anda mempratinjau persis bagaimana penampilannya dalam batas Anda, menghemat waktu dan menghindari kesalahan format.

Fitur

Pertanyaan yang sering diajukan

Apakah memotong di tengah kata?

Tidak. Pemotong memotong pada batas kata terdekat sebelum batas, sehingga keluaran selalu berakhir pada kata utuh. Ini menjaga teks pemotongan Anda tetap mudah dibaca dan rapi.

Bisakah saya menggunakannya untuk meta description?

Ya. Atur batas ke 155–160 karakter untuk meta description Google, atau 120 karakter untuk pemotongan yang lebih ketat. Alat menampilkan penghitung karakter Anda secara real-time untuk menyempurnakan hasilnya.

Apa yang terjadi pada karakter khusus dan emoji?

Karakter khusus dan emoji dipertahankan apa adanya. Perhatikan bahwa emoji dapat dihitung sebagai 2 karakter pada beberapa platform, periksa hitungan akhir di platform target Anda jika presisi penting.

Apa yang sebenarnya dimaksud dengan «satu karakter»

Pengguna melihat satu «karakter» di mana JavaScript melihat tiga nilai. String «👨‍👩‍👧‍👦» (emoji keluarga empat) adalah satu cluster grafem, tujuh titik kode Unicode yang disatukan oleh Zero-Width Joiner (U+200D), dan sebelas unit kode UTF-16. Itulah mengapa di JavaScript "👨‍👩‍👧‍👦".length === 11. Definisi otoritatif hidup di Unicode Standard Annex #29 «Unicode Text Segmentation» (versi saat ini 15.0, September 2022), yang menentukan batas cluster grafem, batas kata, dan batas kalimat. JavaScript modern mengekspos UAX #29 melalui Intl.Segmenter, distandardisasi di ECMAScript 2022 dan dikirim di setiap browser sejak Firefox 125 (April 2024); Chrome memilikinya sejak versi 87 (November 2020) dan Safari sejak 14.1 (April 2021). Gunakan new Intl.Segmenter('id', { granularity: 'grapheme' }) untuk menghitung seperti manusia menghitung.

Batas karakter di seluruh platform tempat Anda mengirim

Batas kata bukan hanya split(' ')

Truncator batas kata yang naif membagi input pada /\s+/ dan memotong sebelum kata pertama yang mendorong Anda melewati batas. Itu bekerja untuk bahasa Inggris. Itu gagal pada Cina, Jepang, Korea, dan Thailand, tidak satupun yang menggunakan spasi antara kata: seluruh input berakhir sebagai satu «kata», sehingga pemangkas mempertahankan semuanya atau memotong semuanya. Arab menggunakan spasi tetapi menyatukan bentuk huruf dengan cara yang mengubah posisi batas. Intl.Segmenter dengan granularity: 'word' menerapkan algoritma batas kata UAX #29 dan menghasilkan potongan yang benar untuk setiap bahasa. Itu juga membedakan segmen «seperti kata» (mengembalikan isWordLike: true) dari segmen tanda baca dan spasi, sehingga Anda dapat menemukan batas kata terakhir sebelum anggaran karakter Anda dengan satu lintasan atas segmen.

Pemotongan CSS: text-overflow dan line-clamp

Jika tujuannya adalah memotong secara visual sambil mempertahankan teks lengkap di DOM (sehingga tetap tersedia untuk pembaca layar, mesin pencari, dan salin-tempel), gunakan CSS. Pemotongan satu baris membutuhkan tiga properti bersama: overflow: hidden; white-space: nowrap; text-overflow: ellipsis;. text-overflow: ellipsis didefinisikan dalam CSS Basic User Interface Module Level 4 (W3C Candidate Recommendation Agustus 2021) dan telah dikirim di setiap browser sejak Firefox 7 (September 2011); Internet Explorer 6 sudah memilikinya sejak Agustus 2001. Pemotongan multi-baris menggunakan display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;. Properti -webkit-line-clamp berasal dari WebKit 2009 dan sekarang didefinisikan di CSS Overflow Module Level 3 (W3C Working Draft). line-clamp tanpa awalan dikirim di Safari 18 (September 2024) dan Firefox 125 (April 2024); selalu sertakan bentuk -webkit- sebagai fallback. Batasan kritis: pemotongan CSS murni presentasi. Teks lengkap masih ada di sumber HTML, sehingga snippet SEO, ringkasan email, dan indeks pencarian yang digerakkan JS semua melihat string yang tidak terpotong.

Kesalahan umum

Pertanyaan yang lebih sering diajukan

Mengapa Twitter menghitung URL saya sebagai 23 karakter padahal jauh lebih panjang?

Twitter membungkus setiap URL melalui shortener t.co-nya untuk analitik dan deteksi penyalahgunaan, sehingga menagih setiap URL pada panjang kasus terburuk shortener: 23 karakter untuk HTTPS. Jika Anda menulis URL 100-karakter, dihitung sebagai 23 di antarmuka Twitter. Aturan yang sama berlaku untuk metadata Twitter Card. Library open-source twitter-text (Twitter, MIT) menerapkan aturan persis jika Anda memerlukan simulasi sempurna pada byte.

Apakah alat ini menghormati bahasa RTL seperti Arab dan Ibrani?

Konten teks dipertahankan termasuk penanda bidi (bidirectional)-nya. Pemotongan beroperasi pada karakter dalam urutan logis, sehingga memotong kalimat Arab pada karakter 100 memotong pada karakter logis ke-100 (yang akan diumumkan pembaca layar terlebih dahulu). Urutan tampilan dapat terbalik secara visual karena aliran kanan-ke-kiri, tetapi string yang mendasari konsisten.

Mengapa SMS terpotong saya masih dibagi menjadi tiga bagian pada 161 karakter?

SMS menggunakan pengkodean GSM 7-bit untuk teks hanya Latin, memasukkan 160 karakter dalam satu segmen. Tetapi karakter apa pun di luar GSM-7, termasuk tanda kutip melengkung «pintar» dari autocorrect (U+2018 / U+2019), ellipsis Unicode (U+2026), atau emoji, memaksa seluruh pesan ke pengkodean UCS-2 pada 70 karakter per segmen. Jika pesan 160-karakter Anda yang terpotong berisi satu tanda kutip pintar, operator membaginya menjadi tiga bagian UCS-2 70-karakter. Ganti tanda kutip pintar dengan tanda kutip ASCII untuk SMS.

Bisakah saya memotong teks berformat HTML tanpa merusak tag?

Tidak aman dengan potongan penghitungan karakter. Lepaskan tag HTML terlebih dahulu (melalui DOMParser atau parser sisi server), potong teks biasa, kemudian secara opsional bungkus ulang; atau gunakan truncator yang sadar DOM yang berjalan di pohon node dan mengkloning prefix node teks utuh. Regex murni pada string HTML tidak aman (HTML bukan bahasa reguler).

Apakah ada yang dikirim ke server?

Tidak. Teks yang Anda tempel, batas yang Anda pilih, sufiks yang Anda atur, dan output terpotong semuanya diproses di JavaScript browser Anda. Tidak ada panggilan jaringan yang dibuat dan tidak ada salinan input Anda yang disimpan. Buka tab Jaringan di DevTools untuk memverifikasi.

Alat terkait

Karakter Counter Gratis Kata & Karakter Counter Online Penghapus Whitespace & Pembersih Teks Pengonversi Kasus Teks