3

StackOverflow(HTMLタグ生成用のPHPライブラリ)に関する別の質問で、PHP用の一般的なまたは標準のHTMLタグライブラリがあるかどうかを尋ねました。

そのようなライブラリの目的を疑問視するコメントがいくつか現れました。

LukeWellingとLauraThomsonによる高く評価されている本「PHPandMySQLWebDevelopment4thEdition」のコードを次に示します。

echo "<td width = \"".$width."%\">
<a href=\"".$url."\">
<img src=\"s-logo.gif\" alt=\"".$name."\" border=\"0\" /></a>
<a href=\"".$url."\"><span class=\"menu\">".$name."</span></a>
</td>";

エスケープと連結はすべて少し厄介に見えると思ったので、HTML生成ライブラリを作成しました。上記は、ライブラリを使用すると次のようになります。

return td(array('width' => $width . '%'),
    a(array('href' => $url),
        img(array('src' => 's-logo.gif', 'alt' => $name, 'border' => 0))),
    a(array('href' => $url), span(array('class' => 'menu'), $name)));

私の質問は(そして覚えておいてください、私はphp newbです)、上記を書くための慣用的な方法は何ですか?本の例を書くためのよりクリーンな方法はありますか?

4

2 に答える 2

2

PHPヒアドキュメント構文を使用できます

<?php

$width=10;
$url="www.google.com";
$name="stackoverflow";

echo <<<EOT
<td width = "$width">
<a href="$url">
<img src="s-logo.gif" alt="$name" border="0" /></a>
<a href="$url"><span class="menu">$name</span></a>
</td>
EOT;
?>


詳細については、PHPマニュアルを参照してください

于 2012-06-24T06:21:16.533 に答える
1

クリーナー-間違いなく、heredoc

echo <<<HTML
<td width="{$width}%">
<a href="{$url}"><img src="s-logo.gif" alt="{$name}" border="0" /></a>
<a href="{$url}"><span class="menu">{$name}</span></a>
</td>
HTML;
于 2012-06-24T06:20:26.033 に答える