Source Code : Truncating untuk Mendapatkan String Tertentu pada PHP

Posted on

Sebelumnya tahukah sahabat apa itu Truncating ? 

Truncating ialah cara yang dipergunakan bagi memotong teks yang panjang agar dapat ditampilkan dengan hanya beberapa kata saja di laman kita. Kegunaan dari truncating tentu sangatlah banyak, misalnya bagi menampilkan beberapa sinopsis dari demikian banyak data berbentuk tulisan di database yang akan menjadi terlalu panjang apabila kita tampilkan secara keseluruhan. 
Contoh truncating misalnya ketika kita telah mempunyai demikian banyak tulisan dan ingin kita tampilkan pada halaman depan laman yang kita miliki. Katakanlah kita ingin menampilkan 10 tulisan terakhir. Karenanya, yang kita lakukan ialah mengerjakan fetch array kepada data tersebut, 
misalnya dengan kode PHP selaku berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';

$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
echo "$baris[judul]<br />";
echo "$baris[isi]<br />";
}
?>
Dengan cara di atas, karenanya kita dapat menampilkan 10 tulisan terakhir yang telah disimpan di table “tulisan”, database “kursusprivat”. Akan tetapi, yang ditampilkan ialah keseluruhan dari data tersebut, padahal kita hanya menginginkan hanya beberapa kata saja agar tampilan laman menjadi lebih ringkas.

Function substr()

Function substr() dipergunakan bagi memotong sejumlah huruf di hitungan tertentu. Syntaxnya ialah selaku berikut:
substr ( string $string , int $start [, int $length ] );
Keterangan:
string ialah tulisan yang akan kita potong, minimal mempunyai 1 karakter
start ialah posisi awal di mana tulisan tersebut akan dipotong (biasanya positif, tapi dapat pun negatif)
length ialah berapa panjang tulisan tersebut akan diambil
Contoh:
$tanggal="2011-12-31";
$hari=substr($tanggal, -2);    //hasilnya 31
$bulan=substr($tanggal, 5, 2); //hasilnya 12
$tahun=substr($tanggal, 0, 4); //hasilnya 2011
lumayan jelas bukan?
Dengan demikian, bila kita ingin memotong 100 huruf pertama-tama dari data field “isi” di contoh di atas ialah dengan menambahkan petunjuk substr() tersebut sehingga baris-baris kodenya menjadi selaku berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';
$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
$sinopsis = substr($baris[isi], 100);
echo "$baris[judul]<br />";
echo "$sinopsis<br />";
}
?>
Nah, dengan cara ini kita dapat memotong teks yang panjang menjadi hanya ditampilkan 100 huruf pertama-tama saja. Akan tetapi muncul masalah lain, yakni pemotongan tersebut tak menurut di kata melainkan di huruf, sehingga apabila huruf ke-100 tersebut berada di tengah-tengah sebuah kata, misalnya “guna” menjadi “fun”. Wah, jadinya lucu bukan? Atau malah dapat jadi berbahaya.

Function strpos()

Function strpos() dipergunakan bagi menghitung posisi karakter tertentu di sebuah kata atau kalimat. Syntax-nya ialah selaku berikut:
strpos($kalimat, $karakter[, int $offset]);
Contoh:
<?php
//Mencari posisi sebuah karakter dengan mengesampingkan posisi karakter yang telah ditemukan sebelumnya
$kalimat = 'abcdef abcdef';
$pos = strpos($kalimat, 'a', 1); // $pos = 7, bukan 0
?>
Memotong Teks Tepat di SpasiDengan mengabungkan guna pencarian posisi dan guna truncating, karenanya kita dapat menghasilkan sebuah guna baru yang dapat kita gunakan bagi memotong teks tepat di spasi. Contohnya ialah selaku berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';
$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
$isi = "$tampil[isi]";
$sinopsis = substr($isi,0,strpos($isi,' ',100));
echo "$baris[judul]<br />";
echo "$sinopsis<br />";
}
?>
Nah, dengan script seperti di atas, karenanya kita dapat memotong teks yang panjang menjadi teks yang lebih pendek dan hasil pemotongan teksnya pun lebih bagus karena dipotong tepat di spasi.
Terimakasih …!!!

Leave a Reply

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