3

在 StackOverflow(用于生成 HTML 标记的 PHP 库)的一个单独问题中,我问是否有用于 PHP 的流行或标准 HTML 标记库。

出现了一些评论,质疑这样一个图书馆的目的。

以下是 Luke Welling 和 Laura Thomson 所著的广受好评的《PHP and MySQL Web Development 4th Edition》一书中的一些代码:

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 新手),写上述内容的惯用方式是什么?有没有更简洁的方法来编写本书示例?

4

2 回答 2

2

您可以使用PHP heredoc 语法

<?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 回答