1 教程-内容提要
1.1 CodeIgniter3.1教程——开始
1.2 加载静态内容
1.3 读取新闻条目
1.4 创建新闻条目
2 常规主题
2.1 CodeIgniter URL
2.2 控制器
2.3 保留名称
2.4 视图
2.5 模型
2.6 辅助函数
2.7 使用 CodeIgniter 类库
2.8 创建类库
2.9 使用 CodeIgniter 驱动器
2.10 创建驱动器
2.11 创建核心系统类
2.12 创建附属类
2.13 钩子 - 扩展框架核心
2.14 自动加载资源
2.15 公共函数
2.16 兼容性函数
2.17 URI 路由
2.18 错误处理
2.19 网页缓存
2.20 程序分析
2.21 以 CLI 方式运行
2.22 管理你的应用程序
2.23 处理多环境
2.24 在视图文件中使用 PHP 替代语法
2.25 安全
2.26 PHP 开发规范
3 类库参考
3.1 基准测试类
3.2 缓存驱动器
3.3 日历类
3.4 购物车类
3.5 配置类
3.6 Email 类
3.7 加密类(废弃)
3.8 加密类(新版)
3.9 文件上传类
3.10 表单验证类
3.11 FTP 类
3.12 图像处理类
3.13 输入类
3.14 Javascript 类
3.15 语言类
3.16 加载器类
3.17 迁移类
3.18 输出类
3.19 分页类
3.20 模板解析类
3.21 安全类
3.22 Session 类
3.23 HTML 表格类
3.24 引用通告类
3.25 排版类
3.26 单元测试类
3.27 URI 类
3.28 用户代理类
3.29 XML-RPC 与 XML-RPC 服务器类
3.30 Zip 编码类
4 数据库参考
4.1 数据库快速入门: 示例代码
4.2 数据库配置
4.3 连接你的数据库
4.4 查询
4.5 生成查询结果
4.6 查询辅助函数
4.7 查询构造器类
4.8 事务
4.9 数据库元数据
4.10 自定义函数调用
4.11 查询缓存
4.12 数据库工厂类
4.13 数据库工具类
4.14 数据库驱动器参考
5 辅助函数参考
5.1 数组辅助函数
5.2 验证码辅助函数
5.3 Cookie 辅助函数
5.4 日期辅助函数
5.5 目录辅助函数
5.6 下载辅助函数
5.7 邮件辅助函数
5.8 文件辅助函数
5.9 表单辅助函数
5.10 HTML 辅助函数
5.11 Inflector 辅助函数
5.12 语言辅助函数
5.13 数字辅助函数
5.14 路径辅助函数
5.15 安全辅助函数
5.16 表情辅助函数(废弃)
5.17 字符串辅助函数
5.18 文本辅助函数
5.19 排版辅助函数
5.20 URL 辅助函数
5.21 XML 辅助函数

HTML 辅助函数

2017-12-03 20:03:15
linefo
552
最后编辑:linefo 于 2017-12-03 21:16:51

HTML 辅助函数

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

加载辅助函数

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

$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 标题标签,第一个参数为标题内容,第二个参数为标题大小。例如:

echo heading('Welcome!', 3);

上面代码将生成:<h3>Welcome!</h3>

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

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

上面代码将生成:

<h3 class="pink">Welcome!<h3>
<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 <img /> 标签,第一个参数为图片地址,例如:

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

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

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

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

例如:

$image_properties = array(
    'src'   => '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'
);

img($image_properties);
// <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" />
参数:
  • $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'] 所设置的起始页面。

例如:

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

另一个例子:

echo link_tag('favicon.ico', 'shortcut icon', 'image/ico');
// <link href="http://site.com/favicon.ico" rel="shortcut icon" type="image/ico" />

echo link_tag('feed', 'alternate', 'application/rss+xml', 'My RSS Feed');
// <link href="http://site.com/feed" rel="alternate" type="application/rss+xml" title="My RSS Feed" />

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

$link = array(
    'href'  => 'css/printer.css',
    'rel'   => 'stylesheet',
    'type'  => 'text/css',
    'media' => 'print'
);

echo link_tag($link);
// <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 无序列表(<ul>),参数为简单的数组或者多维数组。例如:

$list = array(
    'red',
    'blue',
    'green',
    'yellow'
);

$attributes = array(
    'class' => 'boldlist',
    'id'    => 'mylist'
);

echo ul($list, $attributes);

上面的代码将生成:

<ul class="boldlist" id="mylist">
    <li>red</li>
    <li>blue</li>
    <li>green</li>
    <li>yellow</li>
</ul>

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

$attributes = array(
    'class' => 'boldlist',
    'id'    => 'mylist'
);

$list = array(
    'colors'  => array(
        'red',
        'blue',
        'green'
    ),
    'shapes'  => array(
        'round',
        'square',
        'circles' => array(
            'ellipse',
            'oval',
            'sphere'
        )
    ),
    'moods'  => array(
        'happy',
        'upset' => array(
            'defeated' => array(
                'dejected',
                'disheartened',
                'depressed'
            ),
            'annoyed',
            'cross',
            'angry'
        )
    )
);

echo ul($list, $attributes);

上面的代码将生成:

<ul class="boldlist" id="mylist">
    <li>colors
        <ul>
            <li>red</li>
            <li>blue</li>
            <li>green</li>
        </ul>
    </li>
    <li>shapes
        <ul>
            <li>round</li>
            <li>suare</li>
            <li>circles
                <ul>
                    <li>elipse</li>
                    <li>oval</li>
                    <li>sphere</li>
                </ul>
            </li>
        </ul>
    </li>
    <li>moods
        <ul>
            <li>happy</li>
            <li>upset
                <ul>
                    <li>defeated
                        <ul>
                            <li>dejected</li>
                            <li>disheartened</li>
                            <li>depressed</li>
                        </ul>
                    </li>
                    <li>annoyed</li>
                    <li>cross</li>
                    <li>angry</li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
ol($list, $attributes = '')
参数:
  • $list (array) -- List entries
  • $attributes (array) -- HTML attributes
返回:

HTML-formatted ordered list

返回类型:

string

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

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 标签,你可以传递一个字符串参数,或者一个数组,或者一个多维数组。

例如:

echo meta('description', 'My Great site');
// Generates:  <meta name="description" content="My Great Site" />

echo meta('Content-type', 'text/html; charset=utf-8', 'equiv');
// Note the third parameter.  Can be "equiv" or "name"
// Generates:  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

echo meta(array('name' => 'robots', 'content' => 'no-cache'));
// Generates:  <meta name="robots" content="no-cache" />

$meta = array(
    array(
        'name' => 'robots',
        'content' => 'no-cache'
    ),
    array(
        'name' => 'description',
        'content' => 'My Great Site'
    ),
    array(
        'name' => 'keywords',
        'content' => 'love, passion, intrigue, deception'
    ),
    array(
        'name' => 'robots',
        'content' => 'no-cache'
    ),
    array(
        'name' => 'Content-type',
        'content' => 'text/html; charset=utf-8', 'type' => 'equiv'
    )
);

echo meta($meta);
// Generates:
// <meta name="robots" content="no-cache" />
// <meta name="description" content="My Great Site" />
// <meta name="keywords" content="love, passion, intrigue, deception" />
// <meta name="robots" content="no-cache" />
// <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 ,但是你也可以选择其他的。

例如:

echo doctype(); // <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

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.1 xhtml11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML 1.0 Strict xhtml1-strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional xhtml1-trans <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset xhtml1-frame <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML Basic 1.1 xhtml-basic11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
HTML 5 html5 <!DOCTYPE html>
HTML 4 Strict html4-strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4 Transitional html4-trans <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4 Frameset html4-frame <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
MathML 1.01 mathml1 <!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">
MathML 2.0 mathml2 <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">
SVG 1.0 svg10 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
SVG 1.1 Full svg11 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
SVG 1.1 Basic svg11-basic <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
SVG 1.1 Tiny svg11-tiny <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
XHTML+MathML+SVG (XHTML host) xhtml-math-svg-xh <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
XHTML+MathML+SVG (SVG host) xhtml-math-svg-sh <!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
XHTML+RDFa 1.0 xhtml-rdfa-1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
XHTML+RDFa 1.1 xhtml-rdfa-2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
br([$count = 1])
参数:
  • $count (int) -- Number of times to repeat the tag
返回:

HTML line break tag

返回类型:

string

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

echo br(3);

上面的代码将生成:

<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

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

echo nbs(3);

上面的代码将生成:

&nbsp;&nbsp;&nbsp;

注解

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