Str クラス

str クラスは、文字列の操作を手助けするメソッドの集合です。

increment($str, $first = 1)

increment メソッドは、文字列の後ろに数字を付加したり、既に数字が付いている場合はそれに 1 加算します。

Static Yes
パラメータ
パラメータ 規定値 説明
$string 必須 対象の文字列
$first
1
加算を開始する最初の番号
返り値 string
$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 で指定された文字種のランダムな文字列を生成します。

Static Yes
パラメータ
パラメータ 規定値 説明
$type alnum 生成する文字列の文字種。(選択肢: alnum, numeric, nozero, alpha, distinct, hexdec, unique, sha1)
$length
16
生成する文字列の長さ。 (unique と sha1 の場合は無視します)
返り値 string
// alnum (アルファベット大文字、小文字、数字)
Str::random('alnum', 16);
// Returns: SvZi9Dh3lq7zQYim

// numeric (数字のみ)
Str::random('numeric', 16);
// Returns: 1045343964672481

// nozero (0 を除いた数字)
Str::random('nozero', 16);
// Returns: 3244623373994515

// alpha (アルファベット大文字と小文字)
Str::random('alpha', 16);
// Returns: LuVAXbmxQbbWoYqz

// distinct (読み間違えづらいアルファベット大文字と数字)
Str::random('distinct', 16);
// Returns: R79MPKMH4KTRN35J

// hexdec (16進数の文字列: a-f, 0-9)
Str::random('hexdec', 16);
// Returns: 09c34e42f36547f8

// unique (md5 を基にした32文字の文字列)
Str::random('unique');
// Returns: ed4bb844a35b7a4edb7eed0d3795d328

// sha1 (sha1 を基にした40文字の文字列)
Str::random('sha1');
// Returns: af5c5a8cc3be9a3180205c1ed2975015cd6cf1e7

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

truncate メソッドは、文字列を指定した長さで切り詰めます。文字列が HTML を含む場合は、それを破壊しないようにすることもできます。

Static Yes
パラメータ
パラメータ 規定値 説明
$string 必須 切り詰める文字列
$limit 必須 文字列の最大長 (文字列の長さがこの値を超えると切り詰める)
$continuation
'...'
切り詰めた文字列の末尾に付加する文字列
$is_html
false
文字列が HTML を含む場合、この引数を true にすると、このメソッドは HTML タグを破壊しません。
返り値 string
$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)

Returns a closure that will alternate the values you've passed to this method as arguments, unless you call the closure with false as argument - in which case it will just return the value without moving to the next and return the same value on the next call.

Static Yes
パラメータ
パラメータ 規定値 説明
*$args 必須 As many arguments as you need to alternate
返り値 Closure
$alt = Str::alternator('one', 'two', 'three', 'four');
echo $alt(); // outputs 'one'
echo $alt(); // outputs 'two'
echo $alt(false); // outputs 'three', but doens't move to the next as you can see in the next call
echo $alt(); // outputs 'three'
echo $alt(); // outputs 'four'
echo $alt(); // outputs 'one'
// etc...

upper($str, $encoding = null)

upper メソッドは、すべてのアルファベットを大文字に変換します。特定の文字のエンコーディングについては、PHP の strtoupper() と同等です。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
$encoding string
null
文字エンコーディング
返り値 string
Str::upper('User Data'); // 返り値: 'USER DATA'

lower($str, $encoding = null)

lower メソッドは、すべてのアルファベットを小文字に変換します。特定の文字のエンコーディングについては、PHP の strtoupper() と同等です。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
$encoding string
null
文字エンコーディング
返り値 string
Str::lower('User Data'); // 返り値: 'user data'

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

tr メソッドは、PHP の strtr() を用いて、与えられた文字列からパラメータをパースします。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
$array array
array()
str_replace に渡すパラメータ
返り値 string
Str::tr('Hello :name', array('name' => 'World')); // 返り値: 'Hello World'

is_json($string)

is_json メソッドは、文字列が json エンコードされているかチェックします。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
返り値 bool
Str::is_json('{"0":"An","encoded":["string"]}'); // 返り値: true

is_serialized($string)

is_serialized メソッドは、文字列が PHP シリアライズされているかチェックします。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
返り値 bool
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 かチェックします。

Static Yes
パラメータ
パラメータ 規定値 説明
$string string 必須 入力文字列
返り値 bool
Str::is_html('Lorem ipsum <b>dolor sit amet</b>, consectetur <u>adipiscing</u> elit.');
// 返り値: true

is_xml($string)

The is_xml method check if a string is a valid xml. Requires the libxml extension.

Static Yes
Parameters
Param Type Default Description
$string string Required The input string.
Returns bool
Example
Str::is_xml('<?xml version="1.0" encoding="utf-8"?><xml><foo>bar</foo></xml>');
// returns true

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

starts_with メソッドは、文字列が指定した文字列で始まっているかチェックします。

Static Yes
パラメータ
パラメータ 規定値 説明
$str 必須 チェック対象の文字列
$start 必須 この文字列で始まっているか
$ignore_case
false
大文字小文字を無視するかどうか
返り値 bool
$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 メソッドは、文字列が指定した文字列で終わっているかチェックします。

Static Yes
パラメータ
パラメータ 規定値 説明
$str 必須 チェック対象の文字列
$end 必須 この文字列で終わっているか
$ignore_case
false
大文字小文字を無視するかどうか
返り値 bool
$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() と同等です。

Static Yes
パラメータ
パラメータ 規定値 説明
$str 必須 入力文字列
$start 必須 開始位置 (詳細は php.net を参照してください)
$length
null
文字数の最大値 (詳細は php.net を参照してください)
$encoding
null
文字エンコーディング
返り値 string
Str::sub('User Data', 3, -1); // 返り値: 'r Dat'