preg_replace değişkenleri almayan

2 Cevap php
$line = "Hello World";

$line= preg_replace("/Hello/", $replacement, $line); - Works!

$find = "Hello";
$line= preg_replace("/$find/", $replacement, $line); - Wont replace anything!

$string = "Hello";
$find = "/".$string."/";
$line= preg_replace($find, $replacement, $line); - Wont replace anything!

Nasıl bir değişken ne bulmak için preg_replace() anlatmak için kullanabilirsiniz?

2 Cevap

Kelimenin tam anlamıyla "Hello World" kullanıyorsanız, örnekler bütün çalışmaları gerektiği, ve onlar olmaz eğer gerçekten tuhaf olurdu.

Özel karakterler ile farklı dizeleri kullanıyorsanız, onları kullanmadan önce bir preg_quote çalıştırmak için emin olun.

Hata başka bir yerde olmalıdır. Aşağıdaki komut dosyası çalışıyor:

<?php
$line = "Hello World";
$replacement = "Bye";

$string = "Hello";
$find = "/".$string."/";
print_r( preg_replace($find, $replacement, $line) );

## output: Bye World

Eğer daha fazla ayrıntı sağlayabilir. Değeri nedir $replacement?