Menampilkan Extracted Text

Pada berbagai kasus dalam aplikasi web, misalnya pada blog atau news web, kita kadang hanya memerlukan beberapa kata/kalimat saja dari sebuah text yang panjang. Misalnya saja pada halaman pertama blog, kita hanya menampilkan 100 kata saja, atau satu paragraf saja dari masing masing post.

Ada berbagai cara untuk melakukannya, dan berikut saya mencoba belajar untuk melakukannya..

1. Mengekstrak sejumlah karakter
Misalnya saja kita hanya ingin menampilkan 100 karakter pertama saja, maka ada dua cara yang saya tahu.
a. Menggunakan PHP
Fungsi substr() dalam PHP akan mengekstrak substring dari sebuah string yang lebih panjang. Ada 3 buah argumen yang dibutuhkan, yaitu source dari substring yang akan ditampilkan, Mulai mengekstrak dari karakter ke-n (n dimulai dari 0 bukan 1), jumlah karakter yang akan diekstrak.

    substr($row['artikel'],0,100)

Kode diatas berarti akan mengekstrak dari $row[‘artikel’] mulai dari karakter ke-0 sebanyak 100 karakter.

b. Menggunakan MySQL
Fungsi LEFT() dalam mySQL akan mengekstrak sejumlah karakter dari awal kolom. Dibutuhkan dua buah argumen, yaitu nama kolom, dan jumlah karakter yang akan diekstrak.

   SELECT artikelID, judul, LEFT(artikel, 100) AS ringkasan FROM post
   ORDER BY date DESC

Kode diatas berarti mengambil 100 karakter pertama dari kolom “artikel”, dan kemudian dialiaskan sebagai “ringkasan”. Kenapa dialiaskan? Agar memudahkan dalam penulisan/penggunaan selanjutnya. Karena apabila tidak dialiaskan maka variablenya adalah “LEFT(artikel, 100)” bukan “artikel”. Lalu bagaimana jika kita ingin mengambil juga keseluruhan arikel? Ubah/tambah kodenya menjadi

   SELECT artikelID, judul, LEFT(artikel, 100) AS ringkasan, artikel
   FROM post ORDER BY date DESC

2. Mengekstrak satu kata/kalimat secara penuh
Dengan cara pertama, kadang yang kita dapatkan adalah akhir yang tidak sempurna, tidak pas pada akhir suatu kata/kalimat, bahkan seringnya berakhir pada suatu huruf. Lalu bagaimana kalau ingin mengekstrak dengan akhir suatu kata/kalimat secara penuh?

Pertama kita ambil 100 karakter dahulu, terserah mau dengan cara 1.a atau 1.b. Kemudian kita masukkan dalam sebuah variable. Kali ini saya menggunakan cara 1.b dan akan mengekstrak sampai satu kata penuh.

    $ekstrak = $row['ringkasan'];
/* kemudian kita cari posisi spasi terakhir
dalam 100 karaktr yang telah diekstrak */
$spasiAkhir = strrpos($ekstrak, ' ');
/* kemudian kita gunakan $spasiAkhir untuk
menentukan panjang ektrak yang baru dan kita tambahkan ...*/
echo substr($ekstrak, 0, $spasiAkhir).'... ';

Fungsi strrpos() akan mencari posisi suatu karakter dalam sebuah string. Sehingga apabila ingin mengambil satu kalimat penuh, tinggal kita cari titik(.) terakhir saja dengan fungsi strrpos().

3. Mengekstrak satu paragraf

Dan inilah kode untuk mengekstrak satu paragraf.

  $baris = strpos($row['artikel'], "\n");
  echo substr($row['artikel'], 0, $baris);

Akhir suatu paragraf dapat diketahui dengan adanya baris baru (newline) atau “/n”.

Dan begitulah yang baru saya tahu. Mohon koreksi apabila ada kesalahan, mohon bimbingannya. Bantu saya belajar..hehehe…

8 thoughts on “Menampilkan Extracted Text

  1. capoenk

    bundet pak…

    kayak nya di wp ada fungsi yang bisa langsung di potonmg di suatu bagian, trus ada tulisanne [more..] kalo di klik muncul yang lengkap…

    begitu bukan??

    Reply
  2. d3ptzz Post author

    @deep: hehehe…memang lagi seneng dab…

    @toopics: kalau saya ga tau apa-apa tentang minyak..:)

    @capoenk: yoa..ini cara manual kalau misalnya bikin sendiri…

    @bayu: terimakasih mas atas koreksinya….

    Reply
  3. nichola

    mas aku mau tanya ,bisa tidak kita mengedit html di blogspot agar artikel yang kita publish hanya tampil misal 50 kata pertamanya saja ,agar blog tidak terlihat penuh dan panjang .

    dan kalau bisa mohon di tunjukan scriptnya/yang di edit sekalian mas makasih ,mohon bantuannya ,,,,,,

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.