Tanya Jawab

Mengatasi masalah Deprecated warning ereg() dan eregi()

Kasus:
Bagaimana memperbaiki error fungsi PHP ereg() dan eregi() DEPRECATED pada PHP 5.3?

Penyelesaian:
Fungsi php ereg() dan eregi() sudah tidak disarankan dan harus diganti mulai PHP 5.3.
Fungsi ereg() digunakan untuk melakukan cek kondisi suatu data atau variable.
Pengganti fungsi ereg() dan eregi() adalah fungsi preg_match().
Berikut beberapa contoh fungsi preg_match dengan beberapa kasus yang berbeda.

Contoh menemukan string:
<?php
// Kode "i" setelah pola pembatas menunjukkan proses pencarian case-insensitif
if (preg_match("/php/i", "PHP adalah skrip web pilihan saya.")) {
    echo "String php ditemukan.";
} else {
    echo "String php tidak ditemukan.";
}
?>

Hasilnya “String php ditemukan.”

Contoh Pencarian Kata:

<?php
/* Kode \b dalam pola menunjukkan batas kata, jadi hanya kata yang tepat untuk "web" yang didapat, dan bukan sebagian dari kata "website" atau "aditifwebsite" */
if (preg_match("/\bweb\b/i", "PHP adalah skrip web pilihan saya.")) {
    echo "Kata web ditemukan.";
} else {
    echo "Kata web tidak ditemukan.";
}
if (preg_match("/\bweb\b/i", "PHP adalah skrip pilihan saya untuk membuat website.")) {
    echo "Kata web ditemukan.";
} else {
    echo "Kata web tidak ditemukan.";
}
?>

Hasil pertama: “Kata web ditemukan”.
Hasil kedua: “Kata web tidak ditemukan”.

Mendapatkan nama domain dari URL
<?php
// Mendapatkan nama domain dari URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.aditif.net/share/", $matches);
$host = $matches[1];
// mendapatkan dua segmen terakhir dari variable host
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "Nama domain adalah: {$matches[0]}\n";
?>

Hasil: “Nama domain adalah: aditif.net”.

Contoh penggunaan subpola:
<?php
$str = 'aditif: 2013';
preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);
/* Kode diatas bekerja di PHP 5.2.2 (PCRE 7.0) keatas, 
     Kode dibawah bekerja untuk PHP 5.2.2 kebawah */
// preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);
print_r($matches);
?>

Hasil:

QUOTE:
Array
(
[0] => aditif: 2013
[name] => aditif
[1] => aditif
[digit] => 2013
[2] => 2013
)
Catatan: Gunakan strpos() atau strstr() jika hanya digunakan untuk proses 1 string saja agar lebih cepat.

Sumber referensi: http://www.php.net/manual/en/function.preg-match.php

Post Comment

Read more:
Cara Install CMS Squirelmail via Softaculous

Bagi anda yang merasa sedikit repot dengan webmail dari hosting...

Pembersihan malware domain navoxxx.xxxx

Lanjutan dari jasa pembersihan malware sebelumnya. Kali ini membersihkan 1...

Perbandingan MySQL vs MySQLi vs PDO

Berikut adalah hasil pengujian dari penggunaan fungsi MySQL dibandingkan dengan...

Close