Di tutorial ini kita akan membas bagaimana cara memotong kata di PHP dengan fungsi substr()
entah dari suatu kalimat atau hanya beberapa kata.
Kadangkala kita membutuhkan penggalan kata dari suatu kalimat untuk dapat ditampilkan sebagian pada halaman tertentu suatu website yang sedang kita buat, tujuannya agar supaya layout atau tampilan website halaman yang memiliki daftar data tersebut lebih rapih, dan juga sebagai informasi tinjauan sebelum semua konten dibuka oleh pengguna lain.
Nah fungsi substr()
ini adalah solusinya, dimana fungsi substr()
ini dapat kita gunakan untuk memotong kata di PHP yang jumlahnya dapat kita tentukan sendiri.
Berikut ini adalah deskripsi singkat dari fungsi substr()
.
substr(string $string, int $offset, ?int $length = null): string
Code language: PHP (php)
Fungsi substr()
memiliki beberapa parameter, berikut ini penjelasannya.
$string
adalah string atau kata yang ingin diproses.$offset
adalah posisi awal string dimana fungsi memulai proses ekstrak dari suatu kata.$length
adalah jumlah karakter yang ingin diambil dari suatu kata atau kalimat.
Jika anda tidak menggunakan parameter $length
maka fugnsi substr()
akan mengekstrak string dari mulai ditentukannya $offset
sampai akhir $string
. Jika $length
0, false, atau null, fungsi substr()
mengembalikan string kosong.
Contoh penggunaan fungsi substr()
Mari kita coba buat beberapa contoh penggunaan fungsi substr()
.
1. Contoh sederhana fungsi substr()
Berikut ini adalah contoh sederhana penggunaan substr()
untuk memotong kata dari sebuah string.
<?php
$string = 'Belajar';
echo substr($string, 0, 3); // Output: Bel
Code language: HTML, XML (xml)
Pada contoh diatas fungsi substr()
akan mengekstrak 3 karakter pertama dari string “Belajar” dimulai dari indeks 0 maka akan menghasilkan kata “Bel”.
2. Menggunakan fungsi substr() dengan nilai length default
Berikut ini adalah contoh cara menggunakan substr()
tanpa menentukan nilai akhir panjang (length) suatu kata atau kalimat.
<?php
$string = 'Belajar';
echo substr($string, 3); // Output: ajar
Code language: HTML, XML (xml)
Dengan tidak menentukan nilai panjang (length) maka substr()
akan mengambil seluruh kata dibelakang dimulai dari $offset
, sebagai contoh kode diatas akan menampilkan kata “ajar” dari kata lengkapnya “Belajar”.
3. Menggunakan offset negatif pada fungsi substr()
Parameter $offset
bisa berupa angka negatif. Jika $offset
negatif, maka fungsi substr()
akan mengambil string yang dimulai dari karakter string terakhir. Karakter terakhir dalam string memiliki nilai indeks -1.
<?php
$string = 'Belajar';
echo substr($string, -3); // Output: jar
Code language: HTML, XML (xml)
Contoh kode diatas menggunakan $offset
dengan nilai -3 dan akan menghasilkan output “jar” karena index dari blok karakter dimulai dari -1, huruf paling akhir dari sebuah kata atau kalimat.
4. Menggunakan nilai offset dan length negatif
Sama seperti parameter $offset
, parameter $length
dapat berupa nilai negatif. Jika anda menggunakan nilai negatif pada $length
maka fungsi substr()
akan menghilangkan sejumlah kata berdasarkan jumlah length yang anda tentukan.
<?php
$string = 'Belajar';
echo substr($string, -3, -2); // Output: j
Code language: HTML, XML (xml)
Kode negatif $length
diatas akan menghilangkan 2 huruf dari belakang hasil dari kembalian $offset
dan akan menghasilkan ouput “j”.
Baca juga: Mencari Posisi String Di PHP Dengan strpos()
5. Menggunakan fungsi mb_substr()
Penggunaan fungsi mb_substr()
pada dasarnya sama dengan substr()
. Namun dengan menggunakan mb_substr()
kita dapat menangani karakter non-ASCII. Sebagai contoh dibawah ini.
<?php
$string = 'Mesut Özil';
echo substr($string, 6, 1); // Output: ?
Code language: HTML, XML (xml)
Kode diatas akan mengambil string “Ö” yang bukan bagian dari ASCII, dan yang terjadi adalah tidak menghasilkan nilai keluaran apapun, umumnya pada browser modern akan muncul simbol “�”.
Mari kita coba dengan menggunakan mb_substr()
.
<?php
$string = 'Mesut Özil';
echo mb_substr($string, 6, 1); // Output: Ö
Code language: HTML, XML (xml)
Fungsi mb_substr()
akan mengeluarkan nilai “Ö” pada nama pemain sepakbola terkenal “Mesut Özil”. Huruf tersebut bukan bagian dari ASCII maka kita harus menggunakan fungsi mb_substr()
untuk mengambil nilai tersebut.
Semoga tutorial Memotong Kata di PHP ini bermanfaat, jangan lupa komentar jika anda ada saran atau pertanyaan.