Fungsi substr() Pada PHP
Fungsi substr()
digunakan untuk memotong (mengekstrak)
sebagian string mulai dari posisi tertentu, dengan panjang tertentu
(opsional). Fungsi ini membantu kita mengelola string dalam berbagai
situasi, seperti memotong judul artikel, mengambil potongan teks,
hingga menampilkan snippet dari data yang terlalu panjang.
Sintaks Dasar
substr(string $string, int $start, int $length = null): string
- $string: String asli yang ingin diambil substring-nya.
- $start: Indeks awal pemotongan. Dimulai dari 0. Jika bernilai negatif, maka pemotongan dilakukan dari posisi terakhir string ke arah kiri.
- $length (opsional): Panjang substring yang
ingin diambil. Jika tidak ditentukan, PHP akan mengambil
sisa string dari
$start
hingga akhir.
Fungsi substr()
akan mengembalikan string baru
yang merupakan bagian dari $string
asli.
Contoh Penggunaan
1. Mengambil Bagian Tertentu dari String
Pada contoh di atas, kita mulai memotong string dari indeks 6, sehingga karakter-karakter sebelum posisi 6 ("Hello ") diabaikan, dan hanya "World" yang diambil.
2. Menentukan Panjang Potongan
Kita dapat menentukan $length
untuk mengatur seberapa
banyak karakter yang ingin diambil.
Di sini, pemotongan dimulai dari indeks 0 dan panjangnya 5 karakter. Hasilnya adalah "Hello".
3. Menggunakan Nilai Negatif untuk $start
Jika $start
bernilai negatif, maka pemotongan dilakukan
dari akhir string. Contohnya:
Di contoh ini, PHP akan mulai menghitung 5 karakter dari belakang. Hasilnya adalah "World".
4. Menggunakan Nilai Negatif untuk $length
Kita juga dapat memakai nilai negatif untuk $length
,
yang berarti menghentikan pemotongan sejumlah karakter
dari akhir string.
Penjelasan: Mulai dari indeks 0, lalu hentikan 6 karakter sebelum akhir string. Dengan demikian, yang diambil hanyalah "Hello".
5. Contoh Kasus: Membuat Teks Preview
Sering kali kita ingin menampilkan teaser atau rangkuman singkat suatu teks. Misalnya, kita hanya menampilkan 30 karakter pertama dari sebuah paragraf.
Pada situasi ini, penambahan ...
(ellips) hanya
sebagai ilustrasi bahwa teks telah dipotong.
6. Penggunaan substr()
pada Array
Secara umum, substr()
tidak digunakan
langsung pada array. Jika Anda butuh memotong string di dalam array,
lakukan perulangan (misal foreach
) atau gunakan cara lain:
Kucing
// [1] => Marmut
// [2] => Burung
// )
?>
Perhatian Terkait Karakter Non-ASCII
Jika Anda bekerja dengan karakter Unicode atau teks yang mengandung
karakter non-ASCII (misal huruf beraksen atau bahasa dengan karakter
khusus), mungkin akan lebih baik menggunakan mb_substr()
(Multibyte String) agar pemotongan tetap akurat. Fungsi substr()
kadang tidak dapat menampilkan hasil yang benar jika terdapat karakter
multibyte.
Tips dan Best Practice
- Periksa panjang string lebih dulu: Jika ingin mencegah error atau hasil tak terduga, Anda bisa mengecek apakah panjang string sudah sesuai sebelum memotongnya.
- Gunakan
mb_substr()
untuk teks multibyte: Jika menangani teks dari bahasa yang menggunakan karakter khusus,mb_substr()
lebih aman. - Kreatif dalam menambah teks penanda: Saat memotong teks (misal untuk preview), Anda bisa menambahkan "..." atau "(lanjutan)" untuk menunjukkan bahwa teks tersebut belum lengkap.
- Manfaatkan nilai negatif: Penggunaan indeks negatif berguna saat perlu mengambil potongan teks dari bagian akhir string, tanpa perlu menghitung total panjangnya.
Baca Juga :