PHP - Mengambil Substring Sebelum Karakter Tertentu

Untuk mengambil apapun sebelum karakter tertentu, di PHP ada beberapa cara. Masing-masing memiliki ciri tertentu. Langsung saja kita coba bereksperimen.

Diketahui:

  1. $str = 'Nama: Wahidin S.'; 

Ditanya:

Ambil apapun sebelum tanda : (titik dua).

Dijawab:

1. explode()

Seperti pada PHP - Mengambil Substring Setelah Karakter Tertentu, fungsi ini sangat populer.

  1. $arr = explode(':', $str); 
  2. echo $arr[0]; // "Nama" 

Jika tanda : tidak ada di $str, hasilnya keseluruhan string: "Nama: Wahidin S.".

2. strpos() dan substr()

Kita menggunakan strpos() untuk menentukan posisi tanda :. Karena kita akan mengambil substring dimulai dari index 0 dan diakhiri di index sebelum tanda :, maka posisi tanda : adalah sebagai panjang substring.

  1. $length = strpos($str, ':'); 
  2. echo substr($str, 0, $length); // "Nama" 

Jika tanda : tidak ditemukan atau $length adalah FALSE, hasilnya adalah string kosong.

3. strstr()

Kita bisa menggunakan strstr() dengan parameter ke-3 "before needle". Parameter ini hanya didukung sejak PHP 5.3.0.

  1. echo strstr($str, ':', true); // "Nama" 

Jika tanda : tidak ditemukan, hasilnya adalah string kosong.

4. strtok()

Fungsi ini memiliki tingkah laku sama seperti explode(). Saat tanda : tidak ditemukan, akan menghasilkan keseluruhan string: "Nama: Wahidin S.".

  1. echo strtok($str, ':'); // "Nama" 

#PHP #string