避免输入html标签,优点和缺点

时间:2012-01-17 10:53:17

标签: php

键入html是如此无聊并占用太多空间并降低代码可读性。如果要构建这样的函数,并使用标记函数编写所有html,该怎么办?我知道只是html更快,但如果通过标签功能编写html,它将如何影响网站性能和页面加载时间。一般来说,渲染HTML这样的方式还不错?非常感谢。

<?php 
function tag($elem, $attr, $emb_elem = array()){
   $arr = explode("|", $attr);
   $attr_key = explode(',' , $arr[0]);
   $attr_val = explode(',', $arr[1]);
   $html = "<" . $elem;
   for($i=0; $i<count($attr_key); $i++){
      $html .= " " . $attr_key[$i] . "='". $attr_val[$i] . "'";
   }
   $html .= ">";
   for($i=0; $i<count($emb_elem); $i++){
      $html .= $emb_elem[$i];
   }
   $html .="</" . $elem . ">";
   return $html;
}

echo tag("p", "class,id|someclass,someid", array("some data"));
# output: <p class='someclass' id='someid'>some data</p>

2 个答案:

答案 0 :(得分:2)

以这种方式呈现HTML总是比不这样做慢 - 问题是这会影响您的网站多少以及您以这种方式保存的时间。写这种方式可能很好,许多框架都包含类似的方法。

如果您的网站以这种方式运行,请考虑缓存网页,以便不必在每次加载页面时对其进行渲染。

您可能有兴趣阅读Jade,将其转换为HTML:

!!! 5
html(lang="en")
  head
    title= pageTitle
    script(type='text/javascript')
      if (foo) {
         bar()
      }
  body
    h1 Jade - node template engine
    #container
      - if (youAreUsingJade)
        p You are amazing
      - else
        p Get on it!

答案 1 :(得分:0)

只要您在拥有专门的网页设计师的团队中开发,或者只要您针对预定义的HTML布局进行开发,从您的PHP应用程序中删除HTML方面就会让您遇到麻烦。

我强烈建议您使用选择的模板引擎(我最喜欢的),或者只是让您的HTML“附近”您的PHP代码(更不灵活),如果您希望您的技能组包括填充预先设计的HTML功能。