这是用PHP编写html标签的标准方法吗?

时间:2014-01-08 16:56:28

标签: php html

哪种方式是在php中编写html标签的标准方法?

我可以直接编写HTML代码。例如:

$output= "<body";
$output .= " class=\"some_class\"";
$output .=">"

或制作一些操作HTML标签并使用它们的功能。例如:

function HTML_open_tag ($tagname){

    $GLOBALS['output'].=" <$tagname ";
}



function HTML_close_tag ($tagname=NULL){

    if ($tagname=="end"){
    $GLOBALS['output'].=" >";
    } elseif(isset($tagname)) {
    $GLOBALS['output'].=" </$tagname>";
    } else {
        $GLOBALS['output'].=" />";
    }
}


function HTML_tag_attribute ($attribute,$value){
    $GLOBALS['output'].=" $attribute=\"$value\"";
}

3 个答案:

答案 0 :(得分:1)

您可以使用Heredoc EOT

echo <<< EOT
Your HTML here
EOT;

参考:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

答案 1 :(得分:0)

使用PHP编写HTML标记没有标准方法。您只需使用Heredoc语法在PHP中编写HTML。

$output = <<<EOT

<p> my output </p>

EOT;



但是如果你想避免使用标签,只需下载并学习一个让事情变得简单的框架。

例如在codeigniter中,如果您想要编写4个br(4)标记,则可以轻松编写<br>

答案 2 :(得分:0)

http://simplehtmldom.sourceforge.net/

你可以做一些简单的事情:

$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=hello]', 0)->innertext = 'foo';

如果没有一些严格的自定义编码,这就可以达到你想要的效果。

它专为操纵现有HTML而设计 - 最大的问题是:

你想要实现什么?

我相信有更好的方法来做你想做的事情 - 让我们知道我们可以指出你正确的方向。

修改

在PHP中编写html的'标准'方法是在任何html之前简单地关闭PHP标记 - 当你需要PHP魔法发生时重新打开它们

<?php some junk like sessions etc.
?>
<html>
    <head>
         <title><?php echo $siteTitle; ?></title>
    </head>
    <body>
    <ul>
    <?php for($x=0;$x<3;$x++){?>
           <li id="listitem<?php echo $x;?>">ITEM: <?php echo $x;?></li>
    <?php } ?>
    </ul>
    </body>
 </html>

以上是否有意义?

请注意,我有一个PHP循环 - 即使我已经打开并关闭了PHP标记,它仍然会起作用 - 它将“打印”或“回显”中间的任何内容。