preg_replace不接受变量

时间:2010-01-27 17:51:14

标签: php regex

$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()要查找的内容?

2 个答案:

答案 0 :(得分:0)

如果你真的使用“Hello World”,那么这些例子都应该可行,如果他们不这样做,那就太奇怪了。

如果您使用带有特殊字符的不同字符串,请确保在使用它们之前对它们运行preg_quote

答案 1 :(得分:0)

错误应该在其他地方。以下脚本可以正常工作:

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

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

## output: Bye World

您能否提供更多详情。 $replacement的价值是什么?