0

AlexGorbatchevのSyntaxHighlighterを使用しコードを出力していますが、phpエコーで行を開始すると、最初のインデントが保持されないという問題が発生します。たとえば、私が次のことを期待する場合:

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

以下を出力します。

    protected $variable;

代わりに、以下を出力します。

protected $variable;

インデントされた4つのスペースを失います。上の行に静的テキストを追加すると、意図したとおりにスペースが保持されます。

また、3行目を次のように変更してみました。

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

これも効果がありません。シンタックスハイライトを初期化するJavaScriptは次のとおりです。

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

明確にするために、蛍光ペンは他のすべての方法で期待どおりに機能しています。

何か案は?

4

1 に答える 1

0

シンタックスハイライトはコードをインデントし、コードが括弧で囲まれていないことを確認するため、インデントしません。関数内のコードは、たとえばインデントされます。

于 2012-11-26T15:42:53.367 に答える