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

Dalam PHP, string bisa dibuat dengan tiga cara:
  • Kutip satu (' ') : Tidak memproses variabel di dalamnya.
  • Kutip dua (" ") : Memproses variabel (interpolasi).
  • Heredoc / Nowdoc : Untuk string multi-baris.
Contoh:

php
$nama = "Budi";
echo 'Halo $nama';  // Output: Halo $nama
echo "Halo $nama";  // Output: Halo Budi

3. Fungsi-Fungsi Wajib Manipulasi String

Kita akan bagi fungsi-fungsi ini ke dalam 4 kelompok berdasarkan tujuan penggunaannya.

A. Membersihkan dan Merapikan String

Kasus: Pelanggan mengetik alamat dengan spasi di awal/akhir.

FungsiKegunaanContoh
trim()Menghapus spasi di awal dan akhir stringtrim(" Budi ")"Budi"
ltrim()Hapus spasi di kiri
rtrim()Hapus spasi di kanan
strtolower()Ubah semua huruf menjadi kecilstrtolower("BUDI")"budi"
strtoupper()Ubah semua huruf menjadi besarstrtoupper("budi")"BUDI"
ucfirst()Huruf pertama menjadi kapitalucfirst("budi")"Budi"
ucwords()Setiap kata diawali huruf kapitalucwords("budi purnomo")"Budi Purnomo"


Narasi Praktik:

"Kamu menerima input nama dari form: ' 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.

FungsiKegunaanContoh
strlen()Menghitung panjang stringstrlen("PHP") → 3
strpos()Mencari posisi pertama suatu substringstrpos("abcdef", "c") → 2
str_replace()Mengganti semua kemunculanstr_replace("kucing", "anjing", $teks)
substr_replace()Mengganti pada posisi tertentusubstr_replace("Halo", "Hi", 0, 4)"Hi"
substr()Mengambil sebagian stringsubstr("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.

FungsiKegunaanContoh
explode()Memecah string menjadi array berdasarkan delimiterexplode(",", "a,b,c")["a","b","c"]
implode()Menggabung array menjadi string dengan glueimplode(" - ", ["a","b","c"])"a - b - c"
str_split()Memecah string per karakterstr_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

FungsiKegunaan
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.

php
$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

  1. strpos() mengembalikan 0 jika substring ditemukan di awal. Jangan gunakan !== false atau === false untuk pengecekan.

  2. String dan angka bisa dibandingkan secara longgar, tapi hati-hati dengan tipe data.

  3. Gunakan kutip dua jika ada banyak variabel di dalam string agar lebih mudah dibaca.

  4. Untuk manipulasi multibyte (seperti UTF-8), gunakan fungsi mb_ seperti mb_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()."

Dengan memahami dan menguasai fungsi-fungsi di atas, kamu sudah siap menghadapi 80% tugas manipulasi teks dalam pengembangan web sehari-hari. Selamat mencoding! 

Post a Comment for "Memahami Manipulasi String di PHP"