排版类¶
排版类提供了一些方法用于帮助你格式化文本。
类参考¶
- 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 — 破折号。
- 三个连续的点也会被转换为省略号… 。
- 句子后连续的多个空格将被转换为 以便在网页中显示。
使用示例:
$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 — 破折号。
- 三个连续的点也会被转换为省略号… 。
- 句子后连续的多个空格将被转换为 以便在网页中显示。
使用示例:
$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);