Escaping Delimiters dalam PHP
Jika sebuah karakter bukanlah karakter khusus, maka, ketika Anda menggunakannya sebagai delimiter, karakter tersebut perlu di-escape di dalam regex itu sendiri. Mari kita lihat contohnya.
Misalkan kita menggunakan tanda pagar sebagai delimiter, dan di dalam regex kita mencari karakter ampersand. Karena ampersand bukan karakter khusus, kita tidak perlu meng-escape-nya:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // akan menampilkan '!'
?>
Sekarang misalkan delimiter-nya adalah ampersand dan di dalam regex kita juga membutuhkan ampersand. Dalam kasus seperti ini, ampersand di dalam harus di-escape, jika tidak akan menyebabkan error PHP:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // akan menampilkan '!'
?>
Perbaiki kesalahan yang dilakukan dalam kode berikut:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>