Tutorial PHP: Cara Menghapus Spasi di Awal dan Akhir String (Fungsi trim)

Dalam tutorial belajar PHP kali ini kita akan membahas fungsi trim() yang digunakan untuk menghapus spasi (whitespace) di awal dan akhir sebuah string PHP. Fungsi trim() juga memiliki 2 varian lain yakni ltrim() dan rtrim().


Pengertian Fungsi trim()

Secara default bawaan PHP, fungsi trim() digunakan untuk menghapus spasi atau karakter whitespace dari sebuah string. Karakter spasi yang akan dihapus bisa berada di awal maupun di akhir string.

Dalam prakteknya, fungsi trim() sering digunakan untuk 'membersihkan' hasil input form dari karakter spasi yang sengaja atau tidak sengaja ditambahkan pengguna.

Berikut adalah contoh penggunaan dasar fungsi trim() di dalam PHP:

<?php
$nama = " andi       ";
$trim_nama = trim($nama);
echo $trim_nama; // "andi"
?>

Karena di HTML whitespace atau spasi tidak akan ditampilkan, penerapan kode diatas tidak terlalu jelas efeknya. Fungsi trim() akan lebih terlihat jika digunakan dalam operasi perbandingan, seperti contoh berikut:

<?php
$nama = "andi ";
$nama_juga = "andi";
if ($nama == $nama_juga) {
  echo "Nama Sama";
}
else {
  echo "Nama Beda";   
}
// hasil: Nama Beda
?>

Dalam operasi perbandingan diatas, tambahan sebuah spasi diakhir variabel $nama, yakni "andi " akan membuat operasi perbandingan menghasilkan nilai FALSE, sehingga hasil akhirnya adalah "Tidak Sama".

Dengan menambahkan fungsi trim(), kode program diatas akan menghasilkan nilai TRUE, karena spasi yang ada baik diawal dan diakhir string akan dihapus terlebih dahulu:

<?php
$nama = "andi ";
$nama_juga = "andi";
if (trim($nama) == trim($nama_juga)) {
  echo "Nama Sama";
}
else {
  echo "Nama Beda";   
}
// hasil: Nama Sama           
?>

Selain menghapus karakter spasi, fungsi trim() juga akan menghapus 5 karakter whitespace lainnya, seperti tab, new line, carriage return (karakter enter), null-byte, dan vertical tab. Dalam kode karakter ASCII, ke-6 karakter ini adalah sebagai berikut:

  • " " (ASCII 32 (0x20)), : karakter spasi.
  • "\t" (ASCII 9 (0x09)), : karakter tab.
  • "\n" (ASCII 10 (0x0A)), : karakter new line (line feed).
  • "\r" (ASCII 13 (0x0D)), : karakter carriage return.
  • "\0" (ASCII 0 (0x00)), : karakter NULL-byte.
  • "\x0B" (ASCII 11 (0x0B)), : karakter vertical tab.

Berikut contoh penggunaannya:

<?php
$nama = "\t \t andi \n \r";
$nama_juga = "   andi \t";
if (trim($nama) == trim($nama_juga)) {
  echo "Nama Sama";
}
else {
  echo "Nama Beda";
}
// hasil: Nama Sama
?>

Untuk menulis karakter "tab", tidak tersedia tombol khusus di dalam keyboard, oleh karena itu kita menggunakan escape karakter untuk tab, yakni "\t".

Fungsi trim() ini sering digunakan untuk menfilter hasil imputan form. Berikut adalah contoh penggunaannya:

<?php
$nama = trim($_GET["nama"]);
// proses variabel nama disini
?>

Menambahkan Karakter yang akan Dihapus (character_mask)

Fungsi trim() juga memiliki argumen kedua yang bersifat opsional. Argumen kedua ini bertipe string yang jika ditulis akan ditambahkan kedalam daftar karakter yang ikut dihapus, atau istilah teknisnya disebuh dengan character_mask. Langsung saja kita lihat contoh penggunaannya:

<?php
$nama = "__andi__";
$trim_nama = trim($nama);
echo $trim_nama; // "__andi__"
echo "<br>";
 
$trim_nama = trim($nama,"_");
echo $trim_nama; // "andi"
?>

Dengan membuat fungsi trim($nama,"_") maka karakter underscore "_" juga akan ikut dihapus.

Lebih jauh lagi, character_mask ini mendukung penulisan range atau jangkauan karakter, yang ditulis dengan "awal..akhir".

Sebagai contoh, jika saya memiliki beberapa string yang dimulai dengan angka seperti: "1 kelereng", "2 buah", "3 orang", saya bisa menggunakan fungsi trim() untuk menghapus seluruh angka awalan ini. Berikut contohnya:

<?php
$kata = "1 kelereng";
$trim_kata = trim($kata,"0..9");
echo $trim_kata; // "kelereng"
echo "<br>";
 
$kata = "2 buah";
$trim_kata = trim($kata,"0..9");
echo $trim_kata; // "buah"
echo "<br>";
 
$kata = "3 orang";
$trim_kata = trim($kata,"0..9");
echo $trim_kata; // "orang"
?>

Fungsi trim($kata,"0..9") berarti: hapus whitespace yang ada di awal dan akhir string $kata, dan hapus karakter 0, 1, 2, 3 s/d 9 di awal dan diakhir string. Fitur untuk menghapus karakter tertentu ini cukup berguna ketika kita ingin 'membersihakan' sebuah string dari karakter yang tidak diinginkan.


Pengertian Fungsi rtrim() dan ltrim()

Fungsi rtrim() dan ltrim() adalah bentuk lain dari fungsi trim(), tapi hanya akan menghapus karakter whitespace yang ada disisi kanan (untuk rtrim) dan di sisi kiri string (untuk ltrim). Kedua fungsi ini juga bisa ditambahkan argumen ketiga seperti halnya fungsi trim().

Berikut contoh penggunaan fungsi rtrim() dan ltrim() dalam PHP:

<?php
$nama = " andi ";
 
$rtrim_nama = rtrim($nama);
echo $rtrim_nama; // " andi"
echo "<br>";
 
$ltrim_nama = ltrim($nama);
echo $ltrim_nama; // "andi "
echo "<br>";
 
$nama = "___andi___";
 
$rtrim_nama = rtrim($nama,"_");
echo $rtrim_nama; // "___andi"
echo "<br>";
 
$ltrim_nama = ltrim($nama,"_");
echo $ltrim_nama; // "andi___"
?>

Dapat terlihat bahwa fungsi rtrim() dan fungsi ltrim() hanya akan menghapus karakter pada satu sisi saja.


Fungsi trim(), rtrim() dan ltrim() yang kita pelajari disini cocok digunakan untuk operasi 'pembersihan' string, ini umumnya digunakan untuk menfilter hasil inputan form dari pengguna (user).

12 Comments

  1. anonymous
    11 Sep 16
  2. Alan Bakhri
    29 Jan 17
    • Andre
      30 Jan 17
  3. Malik
    08 Feb 17
    • Andre
      08 Feb 17
      • Malik
        16 Feb 17
  4. Cahyo Kun
    07 Sep 17
  5. Andre
    13 Apr 19
    • Andre
      13 Apr 19
  6. Nofrisdan Sitopu
    15 Aug 21
  7. Awann
    09 Dec 22
    • Andre
      10 Dec 22

Add Comment

Leave a Reply to Cahyo Kun Cancel reply