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…
lagi lagi kode… 🙁
wah berat ki postingane.. marai mumet.. hehehehe…
*ga tau apa2 soal script, coding, dkk*
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??
benar benar gak dong…
Hehehe mumet akh ga dong ….
Ada salah ketik tuh codenya
substr($row[‘artikel’,0,100)
@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….
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 ,,,,,,