str_ireplace tek alıntı ile çalışmayacak

2 Cevap php

Ben bir dize tek tırnak (') değiştirmek istiyoruz.

Görünüşe göre bu iş olmaz ...:

$patterns = array();
$replacements = array();
$patterns[0] = "'";
$patterns[1] = '\'';
$replacements[0] = 'Something';
$replacements[2] = 'Same thing just in a other way';

2 Cevap

Sizin örnek kod isimsiz içinde olmuştur gibi ($ değiştirmeleri için indeksler 0 & 2?) Görünüyor ve (nerede str_ireplace çağrı) kesilmiştir üzerinde ancak ... Ben tam str_ireplace anlaşılmış değil bir tahmin alacağım.

Birinci nokta str_ireplace etapta çalışmıyor olmasıdır. Bu dönüş değeri dizeleri değişmiş dize / dizidir bu.

İkinci nokta arar ve yedek bir dizi var, PHP her diziden sonraki öğeye hareketli ve daha sonra uygulamadan önce, her diziden bir öğeyi almadan ve konuların konu / diziye uygulayarak ile çalışacak, yani Aynı konu (lar) bu. Her iki denek "'" "sadece bir başka şekilde aynı şey" "şey" ve yerini sonuçlarında bir görünüm yapar asla vardı yerin altındaki örnekte görebilirsiniz.

$patterns = array();
$replacements = array();
$patterns[0] = "'";
$patterns[1] = '\'';
$replacements[0] = 'Something';
$replacements[1] = 'Same thing just in a other way';

$subjects[0] = "I've included a single quote.";
$subjects[1] = "This'll also have a quote.";

$newSubjects = str_ireplace ($ desen, $ değiştirmeleri, $ konular);

print_r($newSubjects);

Çalıştırdığınızda bu verir

Array ([0] => ISomethingve tek teklif alındı. [1] => ThisSomethingll da bir alıntı.)

(') (") ile benim için çalışıyor ile değiştirilmesi str_ireplace .

$test = str_ireplace("'", "\"", "I said 'Would you answer me?'");
echo $test; // I said "Would you answer me?" 

Ayrıca (") (') ile değiştirerek çalışıyor

$test = str_ireplace("\"", "'", "I said \"Would you answer me?\"");
echo $test; // I said 'Would you answer me?'