3

HTML と PHP を組み合わせて Web ページを生成しました。私のPHPコードは次のとおりです。

public function generateSelect()
{
    $data = "<select>\n";

    for ($i = 2000;$i<=2012;$i++)
    {
        $data .= "\t<option value='$i'>$i</option>\n";
    }
    $data .= "</select>";
    $this->data = $data;
    return $this;
}

そして、これは私のHTMLです:

<div>
    <?= $data ?>
</div>

そして、これは結果です:

<div>
    <select>
    <option value='2000'>2000</option>
    <option value='2001'>2001</option>
    <option value='2002'>2002</option>
    <option value='2003'>2003</option>
    <option value='2004'>2004</option>
    <option value='2005'>2005</option>
    <option value='2006'>2006</option>
    <option value='2007'>2007</option>
    <option value='2008'>2008</option>
    <option value='2009'>2009</option>
    <option value='2010'>2010</option>
    <option value='2011'>2011</option>
    <option value='2012'>2012</option>
</select>
</div>

\tとで修正できることはわかっています\n。しかし、それを自動的に行う方法があるかどうか知りたいですか?

4

3 に答える 3

6

tidyPHPのクラスでできます。DOMPHPの拡張機能も同様です。

<?php

    $html = <<<HTML
<div>
    <select>
        <option value='2000'>2000</option>
        <option value='2001'>2001</option>
        <option value='2002'>2002</option>
        <option value='2003'>2003</option>
        <option value='2004'>2004</option>
        <option value='2005'>2005</option>
        <option value='2006'>2006</option>
        <option value='2007'>2007</option>
        <option value='2008'>2008</option>
        <option value='2009'>2009</option>
        <option value='2010'>2010</option>
        <option value='2011'>2011</option>
        <option value='2012'>2012</option>
    </select>
</div>
HTML;

    $dom = new DOMDocument();
    $dom->loadXML($html);

    $dom->formatOutput = true;
    echo $dom->saveHTML();
于 2012-07-26T21:01:59.297 に答える
1

ceejayoz が言ったように、それは必要ではありませんが、\t と \n なしで実行したい場合:

for ($i = 2000;$i<=2012;$i++)
{
    $data .= "
    <option value='$i'>$i</option>";
} 
于 2012-07-26T21:03:27.780 に答える