回声php代码作为文本

时间:2012-12-14 20:57:34

标签: php

我想要回显动态生成的代码块。例如:

<?php
$cid = $camp_id;

$hostname = "$host";
$db_user = "$dbuser";
$db_pass = "$dbpass";
$db_name = "$dbname";

$mysqli = new mysqli();
$mysqli->connect($hostname, $db_user, $db_pass, $db_name);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}

etc....
?>

我可以访问$ camp_id和其他变量,因为它们位于包含的文件中。 我尝试将此代码存储在变量中,并使用&lt;预&GT;和&lt;代码&GT;之后标记和回声,但无法使其工作。

另外如何插入$ camp_id。以下是我认为的例子(我知道它只是为了理解而不正确。

$generated_code = "<.code><?php $cid = <?php echo $camp_id;?> $hostname = $host; etc... </code > ?>";

我在代码和pre之前使用了空格和点,因为如果没有,它就不会显示为标记..

由于

2 个答案:

答案 0 :(得分:1)

您需要遵循strings in PHP的规则,然后您需要遵循HTML规则,或者更好地输出纯文本:

<?php
header('Content-Type: text/plain;');

echo '<?php
$cid = ' . $camp_id .';

etc....

?>';

答案 1 :(得分:1)

您也可以尝试这样:

<?php
    ob_start();
?>

    <code>$cid = <?php echo $camp_id; ?> , $hostname = <?php echo $host; ?></code>

<?php
    echo ob_get_clean();
?>

根据具体情况和代码的含义,使用ob_start()和ob_get_clean()函数可以使代码在彩色编码IDE中更加清晰,因为您的输出看起来不像一个固定的颜色块,而是为了更好的可读性,应该在html中设置样式。