Tutorial PHP:Cara Memotong Kalimat Dengan Fungsi Substr
Jika anda melihat sebuah website yang menampikan hanya sebagian berita atau beberapa kalimat saja dan ketika kita klik pada bagian judul atau tombol readmore, maka akan ditampilkan isi berita secara penuh, disinilah fungsi atau manfaat penerapan fungsi substr().
Pendahuluan
Seperti yang dijelaskan diatas, fungsi substr() dapat dimanfaatkan untuk memotong sebagian string dari sebuah sumber string. Fungsi ini mulai diperknalkan pada PHP versi 4 dan masih digunakan hingga sekarang.
Syntax dari penulisan fungsi substr() :
substr(source_string,str_pos, length)
Penjelasan untuk parameter fungsi substr():
Nama | Keterangan | Required / Optional | Tipe |
---|---|---|---|
source_string | Merujuk kepada sumber string atau inputan string | Required | String |
string_pos | Merujuk kepada posisi awal pemotongan . Nilai positif : Dimulai dari awal string Nilai negatif : Dimulai dari akhir string | Required | Integer |
length |
Merujuk kepada panjang string yang ingin dipotong
Nilai positif : Jumlah string dari awal
Nilai negatif : Jumlah string dari akhir
| Optional | Integer |
Memotong karakter dari awal string
Seperti penjelasan parameter diatas, jika parameter string_post bernilai positif maka proses pemotongan akan dimulai dari awal string dan tentunya juga kita akan melihat dimulai dari index keberapa pemotongannya . Berikut ini contoh pemakaiannya :
Outputnya :<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,6); echo $sub_string; ?>
Ilmu Secara DetilPenjelasan :
Kita memliki sebuah sumber string "Pusat Ilmu Secara Detil".
Kemudian kita potong dengan fungsi substr($string,6), karena parameter string_pos bernilai positif, maka string akan dipotong dari depan dengan ketentuan setelah index ke-6 atau mulai huruf ke-7. Dalam hal ini spasi dianggap bagian dari string. Dan output yang tercetak : Ilmu Secara Detil.
Memotong karakter dari akhir string
Sekarang kita akan menggunakan nilai negatif untuk parameter string_pos. Untuk dapat memahami lebih lanjut silahkan perhatikan contoh berikut ini :
Penjelasan :<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,-12); echo $sub_string; ?>
Outputnya :
Secara Detil
String akan ditinjau dari akhir dan akan dipotong sebanyak 12 huruf termasuk spasi. Kalau kita lihat ada perbedaan antara pengambilan dari bagian akhir dengan diawal. Kalo dari bagian akhir akan diambil sebanyak nilai yang kita tentukan. Kalo dari bagian awal, akan dimulai diambil dari nilai yang kita tentukan.
Memotong karakter dari awal string dengan diset panjangnya
Untuk menentukan potongan sebuah string dimulai dari index keberapa dan juga sebarapa panjangnya, kita dapat menambahkan argumen length yang pada dasarnya bersifat opsional. Perhatikan Contoh.1 dibawah ini :
<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,6,4); echo $sub_string; ?>
Outputnya :
Ilmu
Penjelasan :
Proses pemotongan string akan dimulai pada index ke-6 dan diambil sebanyak 4 karakter, yaitu : Ilmu.
Jika kita menginginkan pemotongannya dimulai dari index tertentu dan membuang beberapa karakter terakhir, kita dapat mengeset length bernilai negatif.
Perhatikan Contoh.2 dibawah ini :
<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,6,-4); echo $sub_string; ?>
Outputnya :
Ilmu Secara D
Penjelasan :
Proses pemotongan string akan dimulai pada index ke-6 sehingga didapatkan : Ilmu Secara Detil , kemudian akan dibuang 4 buah karakter terakhir, sehingga hasil akhirnya didapatkan : Ilmu Secara D
Memotong karakter dari akhir string dengan diset panjangnya
Untuk menentukan potongan sebuah string yang dimulai dari bagian akhir dan kemudian dikembalikan karakter sebanyak length yang ditentukan dari hasil pemotongan bagian akhir tersebut. Perhatikan Contoh.1 dibawah ini :
<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,-5,3); echo $sub_string; ?>
Outputnya :
Det
Penjelasan :
Pertama akan didapatkan string berupa : Detil berdasarkan hasil pemotongan dari akhir string. Kemudian dari hasil pemotongan tersebut yaitu: Detil akan diambil sebanyak tiga karakter berdasarkan nilai length yang kita input, sehingga hasil akhir yaitu : Det.
Jika ingin memotongnya dari bagian akhir string dan kemudian membuang banyaknya karakter terakhir dapat kita gunakan dengan mengeset lengthnya negatif.
Perhatikan Contoh.2 dibawah ini :<?php $string = "Pusat Ilmu Secara Detil"; $sub_string = substr($string,-5,-3); echo $sub_string; ?>
Outputnya :
De
Penjelasan :
Pertama akan didapatkan output string berupa : Detil berdasarkan hasil pemotongan dari akhir string. Dari output string tersebut (Detil) akan dibuang tiga karakter terakhir (karena diset nilai lengthnya negatif), sehingga hasil akhirnya adalah : De