用于多行PHP字符串的制表

时间:2014-07-23 19:03:15

标签: php

假设您有一个包含多个html行的php字符串,例如:

$string = "<p>
   Vestibulum ac diam sit amet
</p>
<p>
   Vestibulum ac diam sit amet
</p>
<p>
   Vestibulum ac diam sit amet
</p>";

我正在以这种方式展示它:

        <div>
            <div>
                <?php echo $string . PHP_EOL; ?>
            </div>
        </div>

如何让段落与开始的php标签具有相同的列表?我知道我可以在$ string中添加标签,但是如果我在多个地方使用这个字符串,我可能不希望每个地方使用相同的制表符。

我得到的是:

            <div>
                <div>
                    <p>
    Vestibulum ac diam sit amet
</p>
<p>
    Vestibulum ac diam sit amet
</p>
<p>
    Vestibulum ac diam sit amet
</p>
                </div>
            </div>

我想要的是:

            <div>
                <div>
                    <p>
                        Vestibulum ac diam sit amet
                    </p>
                    <p>
                        Vestibulum ac diam sit amet
                    </p>
                    <p>
                        Vestibulum ac diam sit amet
                    </p>
                </div>
            </div>

2 个答案:

答案 0 :(得分:1)

HTML缩进并不重要,正如人们在评论中所说,使代码不必要地变大。但是,如果你真的想缩进它,你可以使用这个函数:

function indent_html($code, $num)
{
    $tabs = str_repeat("\t", $num); // or spaces if you want
    return $tabs.str_replace("\n", "\n$tabs", $code);
}

答案 1 :(得分:0)

您可以尝试以下方式:

tidy_get_output();

reference