使用highlight_string打印php代码

时间:2011-01-18 14:39:47

标签: php

我正在尝试使用highlight_string显示我的代码。我的所有变量都被剥离了打印的代码。我究竟做错了什么?正在发生的事情的一个例子......

<?php highlight_string("
    <?
        $a=3;
        $b=4;
        if ($a < $b){
        echo 'a is less than b';
        }
    ?>"); 
?>

输出看起来像这样

    <?
        =3;
        =4;
        if ( < ){
        echo 'a is less than b';
        }
    ?>

5 个答案:

答案 0 :(得分:7)

用单引号(')替换双引号(“) PHP试图填充双引号内打印的变量。

<?php highlight_string('
    <?
        $a=3;
        $b=4;
        if ($a < $b){
        echo \'a is less than b\';
        }
    ?>'); 
?>

答案 1 :(得分:1)

尝试使用单引号?

使用双引号打印变量的值而不是它们定义的名称。

答案 2 :(得分:1)

当您使用双引号"时,您允许PHP将其变量的所有实例替换为其值。例如,如果我这样做:

$a=5;
echo "$a";

我的输出将是:

5

如果我做了......

$a=5
echo '$a';

我的输出将是

$a

答案 3 :(得分:1)

在php双引号字符串中,美元符号表示美元符号后面的变量应放入字符串中,即

 $a = 1;
 echo("A is $a");
 #prints A is 1

即使没有定义$ a,php也会假设你想在这里创建$ a:

 echo("A is $a");
 #prints A is 

要解决这个问题,请使用单引号字符串,字符串字符串:

 echo('A is $a');
 #prints A is $a

答案 4 :(得分:0)

单引号不能加倍

<?php highlight_string('
    <?
        $a=3;
        $b=4;
        if ($a < $b){
        echo \'a is less than b\';
        }
    ?>'); 
?>