2010-01-27 3 views
0
$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! 

변수를 사용하여 찾을 수있는 부분을 preg_replace()으로 어떻게 지정할 수 있습니까?preg_replace가 변수를 가져 가지 않음

답변

0

문자 그대로 "Hello World"를 사용하는 경우 예제가 모두 작동해야하며 그렇지 않은 경우에는 정말 이상 할 것입니다.

특수 문자가있는 다른 문자열을 사용하는 경우 문자를 사용하기 전에 preg_quote을 실행해야합니다.

0

오류는 다른 곳에서 발생해야합니다. 다음 스크립트는 정상적으로 작동합니다.

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

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

## output: Bye World 

자세한 내용을 제공 할 수 있습니까? $replacement의 값은 무엇입니까?

관련 문제