Memahami Manipulasi String di PHP
1. Mengapa String Itu Penting?
Bayangkan kamu sedang membuat sebuah aplikasi web untuk
sebuah toko buku online. Setiap hari, pelanggan memasukkan judul buku, nama
pengarang, dan alamat email. Data-data ini adalah string—kumpulan
karakter yang membentuk teks. Tugas kamu sebagai programmer adalah memastikan
semua teks itu bersih, rapi, dan siap ditampilkan atau disimpan ke database.
Tanpa kemampuan memanipulasi string, aplikasi kamu akan
kacau: ada spasi berlebih, huruf kapital yang tidak konsisten, atau bahkan
celah keamanan karena input yang tidak difilter. Di sinilah PHP hadir dengan
puluhan fungsi bawaan yang siap membantu kita "bermain" dengan
string.
2. Konsep Dasar: String dalam PHP
- Kutip satu (' ') : Tidak memproses variabel di dalamnya.
- Kutip dua (" ") : Memproses variabel (interpolasi).
- Heredoc / Nowdoc : Untuk string multi-baris.
$nama = "Budi"; echo 'Halo $nama'; // Output: Halo $nama echo "Halo $nama"; // Output: Halo Budi
3. Fungsi-Fungsi Wajib Manipulasi String
| Fungsi | Kegunaan | Contoh |
|---|---|---|
trim() | Menghapus spasi di awal dan akhir string | trim(" Budi ") → "Budi" |
ltrim() | Hapus spasi di kiri | |
rtrim() | Hapus spasi di kanan | |
strtolower() | Ubah semua huruf menjadi kecil | strtolower("BUDI") → "budi" |
strtoupper() | Ubah semua huruf menjadi besar | strtoupper("budi") → "BUDI" |
ucfirst() | Huruf pertama menjadi kapital | ucfirst("budi") → "Budi" |
ucwords() | Setiap kata diawali huruf kapital | ucwords("budi purnomo") → "Budi Purnomo" |
Narasi Praktik:
' aLi '. Sebelum disimpan, kamu bersihkan dengan trim() lalu ubah menjadi format yang rapi dengan ucwords(strtolower($nama)). Hasilnya: 'Ali'."B. Mencari dan Mengganti Teks
Kasus: Kamu ingin mengganti kata
"lama" menjadi "baru" di seluruh paragraf.
| Fungsi | Kegunaan | Contoh |
|---|---|---|
strlen() | Menghitung panjang string | strlen("PHP") → 3 |
strpos() | Mencari posisi pertama suatu substring | strpos("abcdef", "c") → 2 |
str_replace() | Mengganti semua kemunculan | str_replace("kucing", "anjing", $teks) |
substr_replace() | Mengganti pada posisi tertentu | substr_replace("Halo", "Hi", 0, 4) → "Hi" |
substr() | Mengambil sebagian string | substr("Pemrograman", 0, 3) → "Pem" |
Narasi Praktik:
"Di halaman profil, kamu ingin menampilkan hanya 100 karakter pertama dari bio pengguna, lalu tambahkan '...' jika lebih panjang. Gunakan strlen() dan substr()."
C. Memecah dan Menggabung String
Kasus: Kamu menerima daftar hobi dalam satu
baris dipisahkan koma, lalu ingin menampilkannya sebagai list.
| Fungsi | Kegunaan | Contoh |
|---|---|---|
explode() | Memecah string menjadi array berdasarkan delimiter | explode(",", "a,b,c") → ["a","b","c"] |
implode() | Menggabung array menjadi string dengan glue | implode(" - ", ["a","b","c"]) → "a - b - c" |
str_split() | Memecah string per karakter | str_split("ABC") → ["A","B","C"] |
Narasi Praktik:
"Pelanggan mengirimkan alamat lengkap: 'Jakarta, Indonesia, 12345'. Dengan explode(", ", $alamat), kamu dapat memisahkan kota, negara, dan kode pos."
D. Manipulasi Khusus untuk Web dan Keamanan
| Fungsi | Kegunaan |
|---|---|
htmlspecialchars() | Mengubah karakter HTML menjadi entitas (cegah XSS) |
addslashes() | Menambahkan backslash sebelum tanda kutip |
strip_tags() | Menghapus tag HTML/XML |
md5() / sha1() | Hash untuk password (tapi sekarang gunakan password_hash()) |
Narasi Praktik:
"Sebelum menampilkan komentar pengguna di halaman web, kamu wajib menggunakan htmlspecialchars() agar tag HTML tidak tereksekusi oleh browser. Ini adalah langkah penting untuk keamanan."
4. Contoh Studi Kasus Lengkap
Kasus: Formulir pendaftaran dengan nama, email,
dan pesan.
$nama = trim($_POST['nama']);
$email = trim($_POST['email']);
$pesan = trim($_POST['pesan']);
// Validasi dan pembersihan
$nama = ucwords(strtolower($nama));
$email = strtolower($email);
// Cek apakah email mengandung '@'
if (strpos($email, '@') === false) {
echo "Email tidak valid!";
}
// Potong pesan jika terlalu panjang
if (strlen($pesan) > 200) {
$pesan = substr($pesan, 0, 200) . "...";
}
// Amankan output
$pesan_aman = htmlspecialchars($pesan);
// Tampilkan
echo "Nama: $nama <br>";
echo "Email: $email <br>";
echo "Pesan: $pesan_aman";5. Kesalahan Umum & Tips
strpos()mengembalikan 0 jika substring ditemukan di awal. Jangan gunakan!== falseatau=== falseuntuk pengecekan.String dan angka bisa dibandingkan secara longgar, tapi hati-hati dengan tipe data.
Gunakan kutip dua jika ada banyak variabel di dalam string agar lebih mudah dibaca.
Untuk manipulasi multibyte (seperti UTF-8), gunakan fungsi
mb_sepertimb_strlen().
6. Penutup: Latihan Mandiri
"Sekarang, coba buat program sederhana:
- Terima
input kalimat dari user.
- Hitung
jumlah kata.
- Balik
urutan katanya (misal: 'Saya suka PHP' menjadi 'PHP suka Saya').
- Ganti
semua huruf vokal menjadi '*'.
Gunakan kombinasi explode(), strrev(), str_replace(), dan count()."
Post a Comment for "Memahami Manipulasi String di PHP"
Post a Comment