# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 文本辅助函数

文本辅助函数所包含的函数只能对文本进行处理。

## 装载文本辅助函数

采用如下方式装载该辅助函数：

`$this->load->helper('text');`

可用函数如下：

## word_limiter()

根据指定的词语(由于是英语，对中文应该是以空格为判断标准，译者注)数目对一段字符串进行截取。范例：

`$string = "Here is a nice text string consisting of eleven words.";
$string = word_limiter($string, 4);
// Returns: Here is a nice…`

第三个参数是一个可选的符号后缀，默认在截取段后加上省略号(…)。

## character_limiter()

根据指定的字符数目对一段字符串进行截取。它将会保证单词的完整性(对英语单词而言，译者注)，因此可能会造成截取后的字符数目与指定的有一点出入。范例：

`$string = "Here is a nice text string consisting of eleven words.";
$string = character_limiter($string, 20);
// Returns: Here is a nice text string…`

第三个参数是一个可选的符号后缀，默认在截取段后加上省略号(…)。

## ascii_to_entities()

将ASCII码转换为字符实体，包括那些在网页中使用时可能导致问题的高位ASCII码和微软Word字符，因此它们能够被正确地显示出来，不受浏览器设置或者数据库可靠存储的影响。本函数部分依赖于你的服务器对字符集的支持，因此并不是在任何情况下都100%的可靠，但在大多数情况下都可以正确地识别正常范围以外的字符(比如重音符号)。例如：

`$string = ascii_to_entities($string);`

## entities_to_ascii()

这个函数与ascii_to_entities()功能相反; 它将字符转变为ASC码.

## convert_accented_characters()

Transliterates high ASCII characters to low ASCII equivalents, useful when non-English characters need to be used where only standard ASCII characters are safely used, for instance, in URLs.

`$string = convert_accented_characters($string);`

This function uses a companion config file application/config/foreign_chars.php to define the to and from array for transliteration.

## word_censor()

让你可以对文本中的文字进行审核替换。第一个形参用于获取原始字符串。第二个形参用于存放你不允许的文字的数组。第三个形参(可选)用于存放一个替换不允许文字的字段。如果不指定则被替换为“磅”的表示符号：####。范例：

`$disallowed = array('darn', 'shucks', 'golly', 'phooey');
$string = word_censor($string, $disallowed, 'Beep!');`

## highlight_code()

对一段代码(PHP,HTML等)进行着色。例如：

`$string = highlight_code($string);`

本函数使用PHP的 highlight_string() 函数，因此所使用的颜色是你在 php.ini 文件中指定的那些。

## highlight_phrase()

对字符串内的一个短语进行突出显示。第一个参数是原始字符串，第二个参数是你想要突出显示的短语。如果要用HTML标签对短语进行标记，那么第三个和第四个参数分别是你想要对短语使用的HTML打开和关闭标签。例如:

`$string = "Here is a nice text string about nothing in particular.";
$string = highlight_phrase($string, "nice text", '<span style="color:#990000">', '</span>');`

以上内容将返回:

Here is a nice text string about nothing in particular.

## word_wrap()

根据指定的字符数目对文本进行换行操作，并且保持词语的完整性(对英语单词而言，笔者注)。范例：

`$string = "Here is a simple string of text that will help us demonstrate this function.";
echo word_wrap($string, 25);
// Would produce:
Here is a simple string
of text that will help
us demonstrate this
function`

## ellipsize()

过滤字符串中的标签，在指定的最大长度处切割字符串，并插入一个省略号。

第一个参数是要被省略处理的字符串，第二个参数是目标字符串中字符的数目。第三个参数是省略号在目标字符串的位置，值为0 - 1，从左到右。例如，值为1时，省略号位于目标字符串的右端，值为.5时，位于中间，而值为0时位于左端。

第四个参数是可选的，用于指明使用的省略符号类型，默认使用 `…` 。

`$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);` 输出: `this_string_is_e…ak_my_design.jpg`

翻译贡献者: Hex, hk_yuhe, kkorange, kntism, yinzhili
最后修改: 2011-03-08 00:56:17