【发布时间】:2013-04-20 20:08:35
【问题描述】:
如何将 PHP 代码放入字符串中?
$phpCode = '<? if($condtion){ ?>';
由于某种原因,当我执行此操作并回显代码时,我没有得到开始的 PHP 标记 <?。
我错过了什么吗?有没有更好或更合适的方法来做到这一点?我目前正在查看PHP docs on strings,但我希望得到您的反馈。
编辑:我之所以使用撇号 (') 而不是引号 (") 是因为我不希望代码填写条件值。我希望它按原样回显。
【问题讨论】:
-
您是否将代码回显到 HTML 输出中?如果是这样,它被解释为一个标签,需要转义才能出现在屏幕上。
-
你只是给出一个输出还是运行它?
-
它正在被放入一个稍后运行的 .php 文件中。
-
您构建字符串的方式没有任何问题。引用
htmlspecialchars的答案适用于在网页中显示字符串,但如果您打算实际运行生成的代码则不适用。在这种情况下,您应该可以轻松地使用file_put_contents之类的内容按原样编写字符串。但是,我会认真质疑使用 php 脚本编写 php 代码是否是一个好的整体策略。 -
@grossvogel 如果这不允许生成的代码运行,那么
htmlspecialchars()不是我正在寻找的解决方案。不幸的是,我坚持将输出作为纯文本写入文件。也许我的特殊问题无法解决:(