Mengambil sebagian dari sebuah teks (substring) adalah operasi yang sangat sering muncul: menampilkan tiga huruf awal nama bulan, menyembunyikan sebagian nomor kartu, atau memotong teks panjang menjadi ringkasan. Artikel ini membahas cara mengambil substring di PHP dengan substr().
Fungsi substr()
<?php $teks = "Selamat Pagi"; echo substr($teks, 0, 7); // "Selamat" echo substr($teks, 8); // "Pagi" ?>
Parameternya: string, posisi awal (mulai 0), dan panjang (opsional). Tanpa panjang, ia mengambil hingga akhir.
Contoh Kasus: Menyensor Nomor Kartu
<?php $kartu = "1234567812345678"; $empat = substr($kartu, -4); // ambil 4 digit terakhir echo "**** **** **** " . $empat; // "**** **** **** 5678" ?>
Angka negatif pada posisi awal berarti menghitung dari belakang — teknik yang sangat berguna.
Contoh Kasus: Memotong Ringkasan
<?php $judul = "Panduan Lengkap Belajar PHP untuk Pemula"; echo substr($judul, 0, 20) . "..."; // "Panduan Lengkap Bela..." ?>
Jebakan pada Huruf Beraksen
Sama seperti strlen(), substr() bekerja per byte. Pada teks UTF-8 dengan aksen, gunakan mb_substr() agar huruf tidak “terpotong” di tengah:
<?php $teks = "café latte"; echo mb_substr($teks, 0, 4); // "café" (aman) ?>
Kesalahan Umum
- Lupa bahwa posisi dimulai dari 0, bukan 1.
- Memotong teks UTF-8 dengan
substr()sehingga muncul karakter rusak — gunakanmb_substr().
Kesimpulan
Gunakan substr() untuk mengambil bagian teks, manfaatkan indeks negatif untuk menghitung dari belakang, dan pilih mb_substr() saat teks mengandung karakter non-ASCII agar hasilnya tetap utuh.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

