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 辅助函数

排版类

2017-12-03 19:59:33
linefo
572
最后编辑:linefo 于 2017-12-03 21:05:21

排版类

排版类提供了一些方法用于帮助你格式化文本。

使用排版类

初始化该类

跟 CodeIgniter 中的其他类一样,可以在你的控制器中使用 $this->load->library() 方法加载排版类:

$this->load->library('typography');

一旦加载,排版类就可以像下面这样使用:

$this->typography

类参考

class CI_Typography
$protect_braced_quotes = FALSE

当排版类和 模板解析器类 同时使用时,经常需要保护大括号中的的单引号和双引号不被转换。 要保护这个,将 protect_braced_quotes 属性设置为 TRUE 。

使用示例:

$this->load->library('typography');
$this->typography->protect_braced_quotes = TRUE;
auto_typography($str[, $reduce_linebreaks = FALSE])
参数:
  • $str (string) -- Input string
  • $reduce_linebreaks (bool) -- Whether to reduce consequitive linebreaks
返回:

HTML typography-safe string

返回类型:

string

格式化文本以便纠正语义和印刷错误的 HTML 代码。按如下规则格式化输入的字符串:

  • 将段落使用 <p></p> 包起来(看起来像是用两个换行符把段落分隔开似的)。
  • 除了出现 <pre> 标签外,所有的单个换行符被转换为 <br />。
  • 块级元素如 <div> 标签,不会被段落包住,但是如果他们包含文本的话文本会被段落包住。
  • 除了出现在标签中的引号外,引号会被转换成正确的实体。
  • 撇号被转换为相应的实体。
  • 双破折号(像 -- 或--)被转换成 em — 破折号。
  • 三个连续的点也会被转换为省略号… 。
  • 句子后连续的多个空格将被转换为 &nbsp; 以便在网页中显示。

使用示例:

$string = $this->typography->auto_typography($string);

第二个可选参数用于是否将多于两个连续的换行符压缩成两个,传入 TRUE 启用压缩换行:

$string = $this->typography->auto_typography($string, TRUE);

注解

格式排版可能会消耗大量处理器资源,特别是在排版大量内容时。 如果你选择使用这个函数的话,你可以考虑使用 缓存 <../general/caching>

format_characters($str)
参数:
  • $str (string) -- Input string
返回:

Formatted string

返回类型:

string

该方法和上面的 auto_typography() 类似,但是它只对字符进行处理:

  • 除了出现在标签中的引号外,引号会被转换成正确的实体。
  • 撇号被转换为相应的实体。
  • 双破折号(像 -- 或--)被转换成 em — 破折号。
  • 三个连续的点也会被转换为省略号… 。
  • 句子后连续的多个空格将被转换为 &nbsp; 以便在网页中显示。

使用示例:

$string = $this->typography->format_characters($string);
nl2br_except_pre($str)
参数:
  • $str (string) -- Input string
返回:

Formatted string

返回类型:

string

将换行符转换为 <br /> 标签,忽略 <pre> 标签中的换行符。除了对 <pre> 标签中的换行处理有所不同之外,这个函数和 PHP 函数 nl2br() 是完全一样的。

使用示例:

$string = $this->typography->nl2br_except_pre($string);