2011-08-05 143 views
5

如何在PHP中编写PHP代码?我想这样做,但它不工作:在PHP中编写PHP代码

<?php echo '<?php echo \'aoeu\'; ?>'; ?> 

希望有人可以给我一个提示,

非常感谢

+6

你为什么要这样做? – Mark

+2

自动生成代码.. –

+0

我想他不想执行代码;他似乎想输出它来显示,并且它没有显示出来,因为<>没有被转义。 –

回答

2

尝试这个

< < <是定界符

<?php 

echo <<< EOF 

<?php 
echo <<< EOF 
EOF; 
?> 

EOF; 

?> 
12
<?php echo htmlentities('<?php echo \'aoeu\'; ?>'); ?> 
+0

http://stackoverflow.com/questions/46483/htmlentities-vs-htmlspecialchars – Brad

0

转义字符串是你需要做的。你做得对。除非你输出HTML,否则使用htmlspecialchars()

2
<?php echo '&lt;?php echo \'aoeu\'; ?&gt;'; ?> 

如果没有逃脱 '<' 和 '>',他们将被打印成html标签。

0

我假设你想显示<?php ?>标签?如果是这样,只需使用&lt代替<

3

如果输出一些复杂的代码,绝对使用模板引擎像智者..否则,你的代码看起来一塌糊涂。

我曾经修补过不使用模板引擎而输出PHP代码的propel ORM。它基于XML配置文件生成所有模型类。他们的代码非常混乱。不要这样做。

0

这不能直接以您发布的方式完成。

PHP是一种服务器端脚本语言,我相信你知道。这意味着它在页面显示给用户之前执行。

实际上,您的代码正在将文本写入浏览器,而不是写入服务器。执行由其他php代码生成的php代码的唯一方法是将新代码写入文件,然后在加载页面后运行该文件。

0

例1

<?php  echo '<pre>', highlight_string('<?php 
include($_SERVER["DOCUMENT_ROOT"] . "/myclass/myform.php"); 
?>', true), '</pre>';  ?> 

例2
php manual highlight-string

0

我不确定什么PHP引擎需要(我会采取其他的海报的话它是ヶ辆作品) ,但在最后使用vim?>会使它看起来像php代码段已经结束。

相反,我只是这样做:

string = "<? echo somefunc('strparam'); ?" . ">"; 

编辑器是幸福的。如果有更好的方法做到这一点,让我知道!

0
echo '<div class="row"><div class="col-md-6 col-md-offset-3"><div class="alert alert-success" role="alert"><p style="text-align: center;">'. php code goes here .'</p></div></div></div>'; 
1

您可以使用highlight_string或者如果你使用highligh_file,你必须表明你想显示

<?php 
highlight_string('<?php echo\'hello\' ?>'); 
highlight_file("D:\local\ajax_bottom.php"); 
?> 

php文件highlight_file或者你可以结合这两者对我来说是最好的解决办法:

<?php 

$string=highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php"); 
highlight_string("$string"); 
?> 

,也可以以不同的方式结合起来:

<?php 


highlight_string(highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php")); 
?>