2011-08-05 168 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")); 
?>