<?php//$arr_mode = array('/\$test1/','/\$test2/');
//$arr_test = array ("123","555");
$arr_mode = '/\$test1/'; //就是这一行
$arr_test = "123d";$content = file_get_contents('index.html');
echo preg_replace($arr_mode,$arr_test,$content);
?>
$arr_mode = '/\$test1/';   将单引号换成双引号就找不到$test1了,为什么?备注。我正在学preg_replace函数。有建议也可以提。谢谢

解决方案 »

  1.   

    index.html
    <html>
    <div>{$test1}</div>
    <div>{$test2}</div>
    </html>
      

  2.   


    单引号会直接当成字符串处理,双引号PHP会解析里面的变量
      

  3.   

    注意:""会把$test解析成为变量,而''不会 
      

  4.   

    在PHP中单引号会被当作纯字符创处理,而php在处理双引号的时候则会查找里面是否有变量,如果有就按变量处理没有就按字符串处理
      

  5.   

    双引号中的$test1会被转义成$test1这个变量输出
    单引号中的$test1会被当成$test1的字符串输出