1

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

<?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 和其他变量,因为它们在包含的文件中。我尝试将此代码存储在带有 <pre> 和 <code> 标记的变量中,然后回显,但无法使其工作。

另外我怎样才能插入 $camp_id 到这个。以下是我认为的示例(我知道这只是为了理解是不正确的。

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

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

谢谢

4

2 回答 2

1

您需要遵循PHP 中字符串的规则,然后您需要遵循 HTML 的规则,或者更好的是,输出纯文本:

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

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

etc....

?>';
于 2012-12-14T21:04:56.620 回答
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 中以获得更好的可读性。

于 2012-12-14T21:07:58.347 回答