preg_replace (), ihtiva eden kaldırma dize '+' karakter

1 Cevap

Ben preg_replace işlevini kullanarak benim dize "% 3Cbr +% 2F% 3E" kaldırarak bir sorun yaşıyorum. Benim varsayım '+' karakter yanlış yorumlanır ediliyor olmasıdır. Kodumu İşte:

$address = preg_replace('/%3Cbr+%2F%3E/', '', urlencode($address));

Teşekkürler her zaman olduğu gibi!

1 Cevap

+ özel bir karakter normal ifadede olduğunu. Bu nicelik ve önceki ifadesi, bir ya da daha fazla kez tekrar edilebilir olduğu anlamına gelir.

\+ ile kaçış ve çalışması gerekir:

$address = preg_replace('/%3Cbr\\+%2F%3E/', '', urlencode($address));

Eğer statik bir ifade yerine konum beri Ama, aynı zamanda kullanabilirsiniz str_replace:

$address = str_replace('%3Cbr+%2F%3E', '', urlencode($address));