2012-06-24 45 views
3

在StackOverflow的一個單獨問題(PHP library for HTML tag generation)中,我問是否有用於PHP的流行或標準HTML標記庫。PHP中的語法HTML生成

一些評論顯示質疑這樣的圖書館的目的。

下面是備受好評的書「PHP和MySQL Web開發第4版」由盧克威林和勞拉湯姆森一些代碼:

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 generation library。上面看起來像這樣使用庫:

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福利局),什麼是寫在上面的慣用方法是什麼?有沒有更清晰的書寫例子的方式?

+1

的mediawiki做類似的東西,有一個看看我是如何使用它來創建一個選擇https://gerrit.wikimedia.or ?G/R /叫做gitweb P =的mediawiki /擴展/ AllTimeZones.git; A =斑點; F = AllTimeZones.php; H = be501d159b606582947de737c4be994d170bc061; HB = HEAD#L190 – nischayn22

回答

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 Manual

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;