【问题标题】:Indenting Syntax Highlighter when starting with a php echo从 php echo 开始时缩进语法荧光笔
【发布时间】:2012-11-26 15:38:22
【问题描述】:

我正在使用 Alex Gorbatchev 的 Syntax Highlighter 来输出一些代码,但我遇到了一个问题,即如果我以 php echo 开始该行,它不会保留初始缩进。例如,我期望以下内容:

<pre class="brush: php;">
    <?php
        echo $variable->getScope() . " ";
        echo $variable->getName();
    ?>;
</pre>

输出以下内容:

    protected $variable;

它改为输出以下内容:

protected $variable;

丢失缩进的四个空格。如果我在上面的行上添加一段静态文本,它会按预期保留空格。

我也尝试将第三行更改为以下内容:

echo "    ".$variable->getScope() . " ";

这也没有效果。这是我正在初始化语法荧光笔的 javascript:

SyntaxHighlighter.defaults['gutter'] = false;
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all()

为了澄清,荧光笔在其他所有方面都按预期工作。

有什么想法吗?

【问题讨论】:

    标签: php javascript formatting syntax-highlighting syntaxhighlighter


    【解决方案1】:

    语法高亮会缩进代码,它会看到你的代码没有括号,所以它不会缩进。函数中的代码将例如缩进。

    【讨论】:

    • 这似乎是个问题 - 荧光笔似乎只在与另一行相关时添加格式,所以如果只有一行,所有缩进都将被删除。
    • 我确信它会自动缩进您的代码。试试\n{\npublic $var;\n}
    • 好像没有,只有在相对于另一行缩进时才会缩进。
    • 我已经接受了这个答案,因为它导致了一个问题,即与任何内容无关的代码不会缩进。
    猜你喜欢
    • 2011-05-16
    • 2011-06-05
    • 2010-11-12
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2014-07-09
    • 1970-01-01
    相关资源
    最近更新 更多