Str 类別

Str 类別是一系列幫助操作字串的方法。

increment($str, $first = 1)

increment 方法能让你附加一个数字字串的結尾或遞增已经存在的数字。

靜態
參数
參数 預設 描述
$string 必要 要遞增的字串。
$first
1
要遞增的第一个数字。
回傳 字串
範例
$string = "filename";
Str::increment($string); // 回傳 filename_1

$string = "filename_1";
Str::increment($string); // 回傳 filename_2

$string = "filename";
Str::increment($string, 3); // 回傳 filename_3

random($type = 'alnum', $length = 8)

random 方法基於所給的类型產生一个隨機的字串。

靜態
參数
參数 預設 描述
$type alnum 要產生的字串类型。你的選擇有 alnum、numeric、nozero、alpha、distinct、hexdec、unique、sha1 與 uuid。
$length
16
你想要最後字串的字元長度(unique、sha1 與 uuid 忽略此參数)。
回傳 字串
範例
// alnum(大寫與小寫字母混合数字(
Str::random('alnum', 16);
// 回傳:SvZi9Dh3lq7zQYim

// numeric(只有数字)
Str::random('numeric', 16);
// 回傳:1045343964672481

// nozero(除了 0 的数字)
Str::random('nozero', 16);
// 回傳:3244623373994515

// alpha(只有大寫與小寫字母)
Str::random('alpha', 16);
// 回傳:LuVAXbmxQbbWoYqz

// distinct(大寫字母與不会被混淆的数字)
Str::random('distinct', 16);
// 回傳:R79MPKMH4KTRN35J

// hexdec(a-f、0-9 的十六進位制字元)
Str::random('hexdec', 16);
// 回傳:09c34e42f36547f8

// unique(基於 md5 的 32 字元字串)
Str::random('unique');
// 回傳:ed4bb844a35b7a4edb7eed0d3795d328

// sha1(基於 sha1 的 40 字元字串)
Str::random('sha1');
// 回傳:af5c5a8cc3be9a3180205c1ed2975015cd6cf1e7

// uuid(版本 4 - 隨機)
Str::random('uuid');
// 回傳:f47ac10b-58cc-4372-a567-0e02b2c3d479

truncate($string, $limit, $continuation = '...', $is_html = false)

truncate 方法能让你限制字元,并提供一个續编字串,而不打破 html。

靜態
參数
參数 預設 描述
$string 必要 要截短的字串。
$limit 必要 允許在字串中的字元長度。
$continuation
'...'
要追加到截短字串結尾的字串。
$is_html
false
如果字串包含 html,設定此为 true 将使該方法不打破 html。
回傳 字串
範例
$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
Str::truncate($string, 15); // 回傳 Lorem ipsum dol...

$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
Str::truncate($string, 15, '...Read More'); // 回傳 Lorem ipsum dol...Read More

alternator(*$args)

回傳一个閉包(closure),它将会輪替你傳給此方法做为變数的值, 除非你使用 false 變数呼叫閉包(closure) - 在此情況下, 将会在下次呼叫時回傳相同的值,而沒有移动到下一个值。

靜態
參数
參数 預設 描述
*$args 必要 所有你需要輪替的變数
回傳 閉包(closure)
範例
$alt = Str::alternator('one', 'two', 'three', 'four');
echo $alt(); // 輸出 'one'
echo $alt(); // 輸出 'two'
echo $alt(false); // 輸出 'three',但不会移动到下一个元素,如同你在下一次呼叫所見
echo $alt(); // 輸出 'three'
echo $alt(); // 輸出 'four'
echo $alt(); // 輸出 'one'
// 等等……

upper($str, $encoding = null)

upper 方法轉換所有字元为大寫,它等同於 PHP 的 strtoupper() 可使用指定的字元编码。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
$encoding 字串
null
字元编码。
回傳 字串
範例
Str::upper('User Data'); // 回傳 'USER DATA'

lower($str, $encoding = null)

lower 方法轉換所有字元为小寫,它等同於 PHP 的 strtolower() 可使用指定的字元编码。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
$encoding 字串
null
字元编码。
回傳 字串
範例
Str::lower('User Data'); // 回傳 'user data'

tr($string, $array = array())

tr 方法使用 PHP 的 strtr() 從所給的字串解析變数。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
$array 陣列
array()
要 str_replace 的參数。
回傳 字串
範例
Str::tr('Hello :name', array('name' => 'World')); // 回傳 'Hello World'

is_json($string)

is_json 方法檢查一个字串是否为 json 编码。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
回傳 布林
範例
Str::is_json('{"0":"An","encoded":["string"]}'); // 回傳 true

is_serialized($string)

is_serialized 方法檢查一个字串是否序列化。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
回傳 布林
範例
Str::is_serialized('a:2:{i:0;s:2:"An";s:7:"encoded";a:1:{i:0;s:6:"string";}}');
// 回傳 true

is_html($string)

is_html 方法檢查一个字串是否为 html。

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
回傳 布林
範例
Str::is_html('Lorem ipsum <b>dolor sit amet</b>, consectetur <u>adipiscing</u> elit.');
// 回傳 true

is_xml($string)

is_xml 方法檢查一个字串是否是有效的 xml。需要 libxml 擴充

靜態
參数
參数 类型 預設 描述
$string 字串 必要 輸入的字串。
回傳 布林
範例
Str::is_xml('<?xml version="1.0" encoding="utf-8"?><xml><foo>bar</foo></xml>');
// 回傳 true

starts_with($str, $start, $ignore_case = false)

starts_with 方法檢查一个字串是否有特定的開頭。

靜態
參数
參数 預設 描述
$str 必要 要檢查的字串。
$start 必要 要檢查的開頭。
$ignore_case
false
是否要忽略大小寫。
回傳 布林
範例
$string = "Lorem ipsum dolor sit amet";

Str::starts_with($string, 'Lorem'); // 回傳 true
Str::starts_with($string, 'lorem'); // 回傳 false
Str::starts_with($string, 'lorem', true); // 回傳 true

ends_with($str, $end, $ignore_case = false)

ends_with 方法檢查一个字串是否有特定的結尾。

靜態
參数
參数 預設 描述
$str 必要 要檢查的字串。
$end 必要 要檢查的結尾。
$ignore_case
false
是否要忽略大小寫。
回傳 布林
範例
$string = "Lorem ipsum dolor sit amet";

Str::ends_with($string, 'amet'); // 回傳 true
Str::ends_with($string, 'Amet'); // 回傳 false
Str::ends_with($string, 'Amet', true); // 回傳 true

sub($str, $start, $length = null, $encoding = null)

sub 方法回傳字串指定的一部分,它等同於 PHP 的 substr() 可使用指定的字符集编码。

靜態
參数
參数 預設 描述
$str 必要 輸入的字串。
$start 必要 第一个字元的定位,詳細用法請看 php.net
$length
null
字元的最大值,詳細用法請看 php.net
$encoding
null
字符集编码。
回傳 字串
範例
Str::sub('User Data', 3, -1); // 回傳 'r Dat'