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

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


Baca Juga :