HTML 辅助函数

HTML 辅助函数文件包含了用于处理 HTML 的一些函数。

加载辅助函数

该辅助函数通过下面的代码加载:

  1. $this->load->helper('html');

可用函数

该辅助函数有下列可用函数:

  • heading([$data = ''[, $h = '1'[, $attributes = '']]])

参数:

  • $data (string) — Content
  • $h (string) — Heading level
  • $attributes (mixed) — HTML attributes返回: HTML heading tag 返回类型: string

用于创建 HTML 标题标签,第一个参数为标题内容,第二个参数为标题大小。例如:

  1. echo heading('Welcome!', 3);

上面代码将生成:

Welcome!

另外,为了向标题标签添加属性,例如 HTML class、id 或内联样式,可以通过第三个参数传一个字符串或者一个数组:

  1. echo heading('Welcome!', 3, 'class="pink"');
  2. echo heading('How are you?', 4, array('id' => 'question', 'class' => 'green'));

上面代码将生成:

  1. <h3 class="pink">Welcome!<h3>
  2. <h4 id="question" class="green">How are you?</h4>
  • img([$src = ''[, $index_page = FALSE[, $attributes = '']]])

参数:

  • $src (string) — Image source data
  • $index_page (bool) — Whether to treat $src as a routed URI string
  • $attributes (array) — HTML attributes返回: HTML image tag 返回类型: string

用于生成 HTML HTML 辅助函数 - 图1 标签,第一个参数为图片地址,例如:

  1. echo img('images/picture.jpg'); // gives <img src="http://site.com/images/picture.jpg" />

第二个参数可选,其值为 TRUE 或 FALSE,用于指定是否在生成的图片地址中添加由 $config['index_page'] 所设置的起始页面。一般来说,当你使用媒体控制器时才使用这个:

  1. echo img('images/picture.jpg', TRUE); // gives <img src="http://site.com/index.php/images/picture.jpg" alt="" />

另外,你也可以通过向 img() 函数传递一个关联数组来完全控制所有的属性和值,如果没有提供 alt 属性,CodeIgniter 默认使用一个空字符串。

例如:

  1. $image_properties = array(
  2. 'src' => 'images/picture.jpg',
  3. 'alt' => 'Me, demonstrating how to eat 4 slices of pizza at one time',
  4. 'class' => 'post_images',
  5. 'width' => '200',
  6. 'height'=> '200',
  7. 'title' => 'That was quite a night',
  8. 'rel' => 'lightbox'
  9. );
  10.  
  11. img($image_properties);
  12. // <img src="http://site.com/index.php/images/picture.jpg" alt="Me, demonstrating how to eat 4 slices of pizza at one time" class="post_images" width="200" height="200" title="That was quite a night" rel="lightbox" />
  • linktag([$href = ''[, $rel = 'stylesheet'[, $type = 'text/css'[, $title = ''[, $media = ''[, $indexpage = FALSE]]]]]])

参数:

  • $href (string) — What are we linking to
  • $rel (string) — Relation type
  • $type (string) — Type of the related document
  • $title (string) — Link title
  • $media (string) — Media type
  • $index_page (bool) — Whether to treat $src as a routed URI string返回: HTML link tag 返回类型: string

用于生成 HTML <link/> 标签,这在生成样式的 link 标签时很有用,当然也可以生成其他的 link 标签。参数为 href ,后面的是可选的:reltypetitlemediaindex_page

index_page 参数是个布尔值,用于指定是否在 href 链接中添加由 $config['index_page'] 所设置的起始页面。

例如:

  1. echo link_tag('css/mystyles.css');
  2. // gives <link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />

另一个例子:

  1. echo link_tag('favicon.ico', 'shortcut icon', 'image/ico');
  2. // <link href="http://site.com/favicon.ico" rel="shortcut icon" type="image/ico" />
  3.  
  4. echo link_tag('feed', 'alternate', 'application/rss+xml', 'My RSS Feed');
  5. // <link href="http://site.com/feed" rel="alternate" type="application/rss+xml" title="My RSS Feed" />

另外,你也可以通过向 link() 函数传递一个关联数组来完全控制所有的属性和值:

  1. $link = array(
  2. 'href' => 'css/printer.css',
  3. 'rel' => 'stylesheet',
  4. 'type' => 'text/css',
  5. 'media' => 'print'
  6. );
  7.  
  8. echo link_tag($link);
  9. // <link href="http://site.com/css/printer.css" rel="stylesheet" type="text/css" media="print" />
  • ul($list[, $attributes = ''])

参数:

  • $list (array) — List entries
  • $attributes (array) — HTML attributes返回: HTML-formatted unordered list 返回类型: string

用于生成 HTML 无序列表(

    ),参数为简单的数组或者多维数组。例如:

    1. $list = array(
    2. 'red',
    3. 'blue',
    4. 'green',
    5. 'yellow'
    6. );
    7.  
    8. $attributes = array(
    9. 'class' => 'boldlist',
    10. 'id' => 'mylist'
    11. );
    12.  
    13. echo ul($list, $attributes);

    上面的代码将生成:

    1. <ul class="boldlist" id="mylist">
    2. <li>red</li>
    3. <li>blue</li>
    4. <li>green</li>
    5. <li>yellow</li>
    6. </ul>

    下面是个更复杂的例子,使用了多维数组:

    1. $attributes = array(
    2. 'class' => 'boldlist',
    3. 'id' => 'mylist'
    4. );
    5.  
    6. $list = array(
    7. 'colors' => array(
    8. 'red',
    9. 'blue',
    10. 'green'
    11. ),
    12. 'shapes' => array(
    13. 'round',
    14. 'square',
    15. 'circles' => array(
    16. 'ellipse',
    17. 'oval',
    18. 'sphere'
    19. )
    20. ),
    21. 'moods' => array(
    22. 'happy',
    23. 'upset' => array(
    24. 'defeated' => array(
    25. 'dejected',
    26. 'disheartened',
    27. 'depressed'
    28. ),
    29. 'annoyed',
    30. 'cross',
    31. 'angry'
    32. )
    33. )
    34. );
    35.  
    36. echo ul($list, $attributes);

    上面的代码将生成:

    1. <ul class="boldlist" id="mylist">
    2. <li>colors
    3. <ul>
    4. <li>red</li>
    5. <li>blue</li>
    6. <li>green</li>
    7. </ul>
    8. </li>
    9. <li>shapes
    10. <ul>
    11. <li>round</li>
    12. <li>suare</li>
    13. <li>circles
    14. <ul>
    15. <li>elipse</li>
    16. <li>oval</li>
    17. <li>sphere</li>
    18. </ul>
    19. </li>
    20. </ul>
    21. </li>
    22. <li>moods
    23. <ul>
    24. <li>happy</li>
    25. <li>upset
    26. <ul>
    27. <li>defeated
    28. <ul>
    29. <li>dejected</li>
    30. <li>disheartened</li>
    31. <li>depressed</li>
    32. </ul>
    33. </li>
    34. <li>annoyed</li>
    35. <li>cross</li>
    36. <li>angry</li>
    37. </ul>
    38. </li>
    39. </ul>
    40. </li>
    41. </ul>

  • ol($list, $attributes = '')

参数:

  • $list (array) — List entries
  • $attributes (array) — HTML attributes返回: HTML-formatted ordered list 返回类型: string

ul() 函数一样,只是它生成的是有序列表(

    )。

  • meta([$name = ''[, $content = ''[, $type = 'name'[, $newline = "n"]]]])

参数:

  • $name (string) — Meta name
  • $content (string) — Meta content
  • $type (string) — Meta type
  • $newline (string) — Newline character返回: HTML meta tag 返回类型: string

用于生成 meta 标签,你可以传递一个字符串参数,或者一个数组,或者一个多维数组。

例如:

  1. echo meta('description', 'My Great site');
  2. // Generates: <meta name="description" content="My Great Site" />
  3.  
  4. echo meta('Content-type', 'text/html; charset=utf-8', 'equiv');
  5. // Note the third parameter. Can be "equiv" or "name"
  6. // Generates: <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  7.  
  8. echo meta(array('name' => 'robots', 'content' => 'no-cache'));
  9. // Generates: <meta name="robots" content="no-cache" />
  10.  
  11. $meta = array(
  12. array(
  13. 'name' => 'robots',
  14. 'content' => 'no-cache'
  15. ),
  16. array(
  17. 'name' => 'description',
  18. 'content' => 'My Great Site'
  19. ),
  20. array(
  21. 'name' => 'keywords',
  22. 'content' => 'love, passion, intrigue, deception'
  23. ),
  24. array(
  25. 'name' => 'robots',
  26. 'content' => 'no-cache'
  27. ),
  28. array(
  29. 'name' => 'Content-type',
  30. 'content' => 'text/html; charset=utf-8', 'type' => 'equiv'
  31. )
  32. );
  33.  
  34. echo meta($meta);
  35. // Generates:
  36. // <meta name="robots" content="no-cache" />
  37. // <meta name="description" content="My Great Site" />
  38. // <meta name="keywords" content="love, passion, intrigue, deception" />
  39. // <meta name="robots" content="no-cache" />
  40. // <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  • doctype([$type = 'xhtml1-strict'])

参数:

  • $type (string) — Doctype name返回: HTML DocType tag 返回类型: string

用于生成 DTD (文档类型声明,document type declaration),默认使用的是 XHTML 1.0 Strict ,但是你也可以选择其他的。

例如:

  1. echo doctype(); // <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2.  
  3. echo doctype('html4-trans'); // <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

下表是可选的文档类型,它是可配置的,你可以在 application/config/doctypes.php 文件中找到它。

文档类型选项结果XHTML 1.1xhtml11XHTML 1.0 Strictxhtml1-strictXHTML 1.0 Transitionalxhtml1-transXHTML 1.0 Framesetxhtml1-frameXHTML Basic 1.1xhtml-basic11HTML 5html5HTML 4 Stricthtml4-strictHTML 4 Transitionalhtml4-transHTML 4 Framesethtml4-frameMathML 1.01mathml1MathML 2.0mathml2SVG 1.0svg10SVG 1.1 Fullsvg11SVG 1.1 Basicsvg11-basicSVG 1.1 Tinysvg11-tinyXHTML+MathML+SVG (XHTML host)xhtml-math-svg-xhXHTML+MathML+SVG (SVG host)xhtml-math-svg-shXHTML+RDFa 1.0xhtml-rdfa-1XHTML+RDFa 1.1xhtml-rdfa-2

  • br([$count = 1])

参数:

  • $count (int) — Number of times to repeat the tag返回: HTML line break tag 返回类型: string

根据指定的个数生成多个换行标签(
)。例如:

  1. echo br(3);

上面的代码将生成:

  1. <br /><br /><br />

注解

该函数已经废弃,请使用原生的 str_repeat() 函数代替。

  • nbs([$num = 1])

参数:

  • $num (int) — Number of space entities to produce返回: A sequence of non-breaking space HTML entities 返回类型: string

根据指定的个数生成多个不换行空格( )。例如:

  1. echo nbs(3);

上面的代码将生成:

  1. &nbsp;&nbsp;&nbsp;

注解

该函数已经废弃,请使用原生的 str_repeat() 函数代替。