Menghitung panjang teks terdengar sepele, tetapi dipakai di mana-mana: membatasi panjang kata sandi, memotong kutipan artikel, hingga memvalidasi nomor KTP yang harus 16 digit. Artikel ini membahas cara menghitung panjang string di PHP dengan benar, termasuk jebakan pada huruf beraksen dan emoji.
Fungsi strlen()
<?php $teks = "Halo Dunia"; echo strlen($teks); // 10 ?>
Contoh Kasus: Validasi Panjang Kata Sandi
<?php
$password = $_POST["password"];
if (strlen($password) < 8) {
echo "Kata sandi minimal 8 karakter";
} else {
echo "Panjang kata sandi aman";
}
?>
Contoh Kasus: Memotong Ringkasan Artikel
<?php
$isi = "Ini adalah paragraf pembuka yang cukup panjang untuk sebuah artikel.";
if (strlen($isi) > 40) {
echo substr($isi, 0, 40) . "...";
}
// "Ini adalah paragraf pembuka yang cukup ..."
?>
Jebakan: Huruf Beraksen dan Emoji
strlen() menghitung byte, bukan huruf. Pada teks dengan karakter khusus (é, ñ, emoji) hasilnya bisa lebih besar dari jumlah huruf sebenarnya karena satu huruf UTF-8 bisa memakan beberapa byte. Untuk menghitung jumlah huruf yang sebenarnya, gunakan mb_strlen():
<?php $teks = "café"; echo strlen($teks); // 5 (byte) echo mb_strlen($teks); // 4 (huruf sebenarnya) ?>
Kesalahan Umum
- Memakai
strlen()untuk membatasi jumlah huruf pada teks berbahasa yang mengandung aksen — gunakanmb_strlen(). - Lupa bahwa spasi juga dihitung sebagai satu karakter.
Kesimpulan
Gunakan strlen() untuk teks ASCII biasa, dan mb_strlen() saat teks mungkin mengandung huruf beraksen atau emoji. Memilih fungsi yang tepat mencegah bug halus pada validasi panjang input.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

