W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
文本輔助函數(shù)文件包括了一系列有助于處理文本的函數(shù)
該系列函數(shù)通過以下方式加載:
helper('text');
以下函數(shù)可用:
random_string
([$type = 'alnum'[, $len = 8]])
param string $type: | 需要隨機輸出的類型 |
---|---|
param int $len: | 輸出的字符串長度 |
returns: | 一個隨機字符串 |
rtype: | string |
基于類型和長度生成一個隨機字符串。
對于創(chuàng)建密碼或隨機哈希等非常有用。
第一個參數(shù)給定字符串類型,第二個參數(shù)給定字符串長度,可使用以下類型:
mt_rand()
方法組成的隨機數(shù)(忽略長度)md5()
的加密隨機數(shù)(固定長度32位)sha1()
的加密隨機數(shù)(固定長度40位)random_bytes()
的隨機字符串用例如下:
echo random_string('alnum', 16);
increment_string
($str[, $separator = '_'[, $first = 1]])
param string $str: | 輸入的字符串 |
---|---|
param string $separator: | 用于增加一個數(shù)字的分隔符 |
param int $first: | 起始數(shù)字 |
returns: | 遞增字符串 |
rtype: | string |
通過將一個每次在尾部遞增數(shù)字的方式,遞增一個字符串。用于創(chuàng)建”拷貝”或者用于擁有唯一標題或簡介的文件或數(shù)據(jù)庫內(nèi)容。
用例如下:
echo increment_string('file', '_'); // "file_1"
echo increment_string('file', '-', 2); // "file-2"
echo increment_string('file_4'); // "file_5"
alternator
($args)
參數(shù): | $args (mixed) – 參數(shù)的一個變量數(shù)字 |
---|---|
返回: | 變化后的字符串 |
返回類型: | mixed |
允許在進行循環(huán)時,兩個或多個項目之間交換變化,例如:
for ($i = 0; $i < 10; $i++)
{
echo alternator('string one', 'string two');
}
如果你需要的話也可以增加盡可能多的參數(shù),在下一次迭代時,下一個項目將會被返回:
for ($i = 0; $i < 10; $i++)
{
echo alternator('one', 'two', 'three', 'four', 'five');
}
注解
多個獨立函數(shù)調(diào)用時,只需要不傳參,不用重新初始化直接調(diào)用即可。
reduce_double_slashes
($str)
參數(shù): | $str (string) – 輸入字符串 |
---|---|
返回: | 格式化斜線后的字符串 |
返回類型: | string |
將一個字符串中的雙斜線轉(zhuǎn)變?yōu)閱涡本€,除了在 URL 協(xié)議前綴中的,比如 http://
例如:
$string = "http://example.com//index.php";
echo reduce_double_slashes($string); // 返回 "http://example.com/index.php"
strip_slashes
($data)
參數(shù): | $data (mixed) – 輸入的字符串或者字符串數(shù)組 |
---|---|
返回: | 去除斜杠后的字符串(數(shù)組) |
返回類型: | mixed |
從一組字符串中去除所有斜杠
例如:
$str = [
'question' => 'Is your name O\'reilly?',
'answer' => 'No, my name is O\'connor.'
];
$str = strip_slashes($str);
以上會返回數(shù)組:
[
'question' => "Is your name O'reilly?",
'answer' => "No, my name is O'connor."
];
注解
基于歷史原因,該函數(shù)也接受字符串類型的輸入。這樣看起來就跟stripslashes()
函數(shù)的別名一樣 alias forstripslashes()
.
reduce_multiples
($str[, $character = ''[, $trim = FALSE]])
參數(shù): | $str (string) – 需要搜索的文本 |
---|---|
$character (string) – 需要簡化的字符 | |
$trim (bool) – 是否在字符串首位同時去除指定的字符 | |
返回: | 簡化后的字符串 |
返回類型: | string |
將多個連續(xù)出現(xiàn)的相同字符簡化為一個,例如:
$string = "Fred, Bill,, Joe, Jimmy";
$string = reduce_multiples($string,","); //結(jié)果 "Fred, Bill, Joe, Jimmy"
如果第三個參數(shù)被設(shè)為 TRUE 的話,該函數(shù)就會將首部和尾部出現(xiàn)的該字符串同時去除,例如:
$string = ",Fred, Bill,, Joe, Jimmy,";
$string = reduce_multiples($string, ", ", TRUE); //結(jié)果是 "Fred, Bill, Joe, Jimmy"
quotes_to_entities
($str)
參數(shù): | $str (string) – 輸入的字符串 |
---|---|
返回: | 擁有轉(zhuǎn)義符號的字符串轉(zhuǎn)換后的 HTML 實體 |
返回類型: | string |
將一個單引號或雙引號轉(zhuǎn)換為對應(yīng)的 HTML 實體,例如:
$string = "Joe's \"dinner\"";
$string = quotes_to_entities($string); //結(jié)果是 "Joe's "dinner""
strip_quotes
($str)
參數(shù): | $str (string) – 輸入字符串 |
---|---|
返回: | 去除了引號的字符串 |
返回類型: | string |
從字符串中去除單雙引號,例如:
$string = "Joe's \"dinner\"";
$string = strip_quotes($string); //結(jié)果是 "Joes dinner"
word_limiter
($str[, $limit = 100[, $end_char = '…']])
參數(shù): | $str (string) – 輸入字符串 |
---|---|
$limit (int) – 限制 | |
$end_char (string) – 結(jié)尾字符(通常是省略號) | |
返回: | 限制了單詞的字符串 |
返回類型: | string |
根據(jù) 單詞 的長度截斷字符串,例如:
$string = "Here is a nice text string consisting of eleven words.";
$string = word_limiter($string, 4);
// Returns: Here is a nice
第三個參數(shù)是一個可選的字符串后綴。默認是一個省略號。
character_limiter
($str[, $n = 500[, $end_char = '…']])
參數(shù): | $str (string) – 輸入字符串 |
---|---|
$n (int) – 字符數(shù)量 | |
$end_char (string) – 結(jié)尾字符 | |
返回: | 限定了字符的字符串 |
返回類型: | string |
根據(jù)給定的 字符 的數(shù)量截斷字符串。該方法將會保持單詞的完整性,因此字符串長度可能會比你給定的略多或略少
例如:
$string = "Here is a nice text string consisting of eleven words.";
$string = character_limiter($string, 20);
// 返回: Here is a nice text string
第三個參數(shù)是一個可選的字符串后綴,未定義則默認使用省略號
注解
如果你想截斷完全一致長度的字符串,參照下方的 函數(shù)ellipsize()
ascii_to_entities
($str)
param string $str: | 輸入字符串 |
---|---|
returns: | 一個將 ASCII 值轉(zhuǎn)化為實體的字符串 |
rtype: | string |
將 ASCII 碼轉(zhuǎn)化為字符實體,包括可能導(dǎo)致 web 頁面中出現(xiàn)問題的高位 ASCII 碼以及一些 Word 字符串。 通過這一方法可以使得這些字符無論是瀏覽器設(shè)置或是存儲于數(shù)據(jù)庫中都可以正確地顯示。
不過該方法依賴于你瀏覽器所支持的字符集,因此不一定100%可靠。 不過在大多數(shù)情況下,該方法可以正確識別非正常類型的字符(例如方言字符等)
例如:
$string = ascii_to_entities($string);
entities_to_ascii
($str[, $all = TRUE])
參數(shù): | $str (string) – 輸入字符串 |
---|---|
$all (bool) – 是否同樣轉(zhuǎn)換非安全的實體 | |
返回: | 將 HTML 實體轉(zhuǎn)化為 ASCII 碼的字符串 |
返回類型: | string |
該函數(shù)與 ascii_to_entities()
相反,將字符實體轉(zhuǎn)換為 ASCII 碼
convert_accented_characters
($str)
參數(shù): | $str (string) – 輸入字符串 |
---|---|
返回: | 一個字符串,其中方言字符已進行過轉(zhuǎn)換 |
返回類型: | string |
將高位 ASCII 碼轉(zhuǎn)化為等同功能的低位 ASCII 碼。當面對只有標準 ASCII 碼可以安全使用的情況,將非英語的字符進行轉(zhuǎn)換,比如在 URL 中
例如:
$string = convert_accented_characters($string);
注解
該函數(shù)利用配置文件 app/Config/ForeignCharacters.php 來定義并進行數(shù)組翻譯。
ord_censor
($str, $censored[, $replacement = ''])
param string $str: | 輸入字符串 |
---|---|
param array $censored: | 一系列需要被探測的有問題的單詞 |
param string $replacement: | 用于替換問題單詞的字符串 |
returns: | 探測后的字符串 |
rtype: | string |
用于檢測文本字符串中的敏感詞。第一個參數(shù)為原有的字符串,第二個是一個含有你需要攔截的敏感詞的數(shù)組。第三個參數(shù)(可選)為需要用于替換的單詞。 如果不聲明的話就會用井號替換: ###
例如:
$disallowed = ['darn', 'shucks', 'golly', 'phooey'];
$string = word_censor($string, $disallowed, 'Beep!');
highlight_code
($str)
param string $str: | 輸入字符串 |
---|---|
returns: | HTML 格式代碼高亮的字符串 |
rtype: | string |
將一個代碼字符串 (PHP, HTML, 等)加上顏色。例如:
$string = highlight_code($string);
該函數(shù)使用了 PHP 的 ``highlight_string()`` 方法,因此使用的顏色是在你的 php.ini 文件中定義的。
highlight_phrase
($str, $phrase[, $tag_open = '<mark>'[, $tag_close = '</mark>']])
param string $str: | 輸入字符串 |
---|---|
param string $phrase: | 高亮的片段 |
param string $tag_open: | 用于高亮的開括號 |
param string $tag_close: | 用于高亮的閉括號 |
returns: | 通過 HTML 進行片段高亮后的字符串 |
rtype: | string |
在一個文本字符串中高亮一個片段。第一個參數(shù)是原本的字符串,第二個參數(shù)是你需要高亮的片段。 第三個第四個參數(shù)包含你需要用于包裹高亮片段的 HTML 標簽。
例如:
$string = "Here is a nice text string about nothing in particular.";
echo highlight_phrase($string, "nice text", '<span style="color:#990000;">', '</span>');
以上將會輸出:
Here is a <span style="color:#990000;">nice text</span> string about nothing in particular.
注解
該函數(shù)默認使用<strong&
標簽。 舊版本的瀏覽器可能不支持新型 HTML5 的格式標簽,因此我們推薦你將下述 CSS 加入到你的樣式表中,如果你需要支持這類瀏覽器的話:
mark {
background: #ff0;
color: #000;
};
word_wrap
($str[, $charlim = 76])
param string $str: | 輸入字符串 |
---|---|
param int $charlim: | 字符限制 |
returns: | 單詞換行過的字符串 |
rtype: | string |
將一個文本以指定的字符長度進行換行,并保持單詞完整性
例如:
$string = "Here is a simple string of text that will help us demonstrate this function.";
echo word_wrap($string, 25);
// 輸出如下:
// Here is a simple string
// of text that will help us
// demonstrate this
// function.
過長的單詞會被截斷,不過 URL 不會
ellipsize
($str, $max_length[, $position = 1[, $ellipsis = '…']])
param string $str: | 輸入字符串 |
---|---|
param int $max_length: | 字符串長度限制 |
param mixed $position: | 需要截斷的位置(整數(shù)或浮點數(shù)) |
param string $ellipsis: | 作為省略的標記符 |
returns: | 省略后的字符串 |
rtype: | string |
該函數(shù)將去除字符串中的標記并將其截斷為指定長度,同時加上一個省略標記符
第一個參數(shù)是需要省略的字符串,第二個是在輸出的字符串中的字符長度。第三個參數(shù)是在省略后的字符串中,省略標記符號是否需要從0-1,從左到右的方式出現(xiàn)。 例如,值為1時,就會在右邊,0.5就是中間,0就是在左邊
第四個可選的參數(shù)是省略符號類型,默認情況下會插入一個 …
例如:
$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);
結(jié)果:
this_string_is_e…ak_my_design.jpg
excerpt
($text, $phrase = false, $radius = 100, $ellipsis = '...')
param string $text: | 需要截取摘要的文本 |
---|---|
param string $phrase: | 需要截取的文本附近的片段或單詞 |
param int $radius: | 在片段前后截取的字符數(shù)量 |
param string $ellipsis: | 省略標記符 |
returns: | 摘要. |
rtype: | string |
該函數(shù)會取出指定 $phrase
前后各 $radius
個數(shù)量的字符。
第一個參數(shù)是需要截取摘要的文本,第二個是需要截取的中心單詞或片段。 第三個參數(shù)是需要截取的數(shù)量。如果不傳 $phrase
參數(shù)的話就會從頭開始獲取 $radius
個字符并加上省略標記符
例如:
$text = 'Ut vel faucibus odio. Quisque quis congue libero. Etiam gravida
eros lorem, eget porttitor augue dignissim tincidunt. In eget risus eget
mauris faucibus molestie vitae ultricies odio. Vestibulum id ultricies diam.
Curabitur non mauris lectus. Phasellus eu sodales sem. Integer dictum purus
ac enim hendrerit gravida. Donec ac magna vel nunc tincidunt molestie sed
vitae nisl. Cras sed auctor mauris, non dictum tortor. Nulla vel scelerisque
arcu. Cras ac ipsum sit amet augue laoreet laoreet. Aenean a risus lacus.
Sed ut tortor diam.';
echo excerpt($str, 'Donec');
輸出:
... non mauris lectus. Phasellus eu sodales sem. Integer dictum purus ac
enim hendrerit gravida. Donec ac magna vel nunc tincidunt molestie sed
vitae nisl. Cras sed auctor mauris, non dictum ...
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: