【发布时间】:2011-12-30 14:07:21
【问题描述】:
我有一个包含以下内容的 PHP 文件: abc.php
echo 'echo echo echo';
echo $x.'echo echo echo'.str_replace($x, 'abc', $y);
echo number_format(1234567); echo "echo echo echo";
我想将 abc.php 中的 "echo" 函数替换为 "$b .=" ,替换后的结果是:
$b .= 'echo echo echo';
$b .= $x.'echo echo echo'.str_replace($x, 'abc', $y);
$b .= number_format(1234567); echo "echo echo echo";
我该怎么做?请帮帮我,非常感谢!
注意:我通过 file_get_contents 读取 abc.php(结果是一个字符串)。之后,我将“echo”替换为“b .=”,然后使用“eval”执行。
【问题讨论】:
-
您是否有意排除了最后一个
echo,第二个语句,最后一行?如果你这样做了(我强烈建议不要这样做)你可以在源上使用#^(echo)#到$b .=preg_replace()- 根据你想要输出缓冲的可能性,我会赞成任何在这里回答。 -
我会手动操作以确保不会出错。但根据你在做什么,你可以考虑输出缓冲。
-
为什么不直接编辑 PHP 文件?
-
您是要override
echo,还是要在文件中用$b .=查找并替换echo? -
这真的是你想要做的,还是X-Y Problem?