class Strings

String tools library.

Traits

Static class.

Constants

TRIM_CHARACTERS

Methods

static bool
checkEncoding(string $s)

Checks if the string is valid in UTF-8 encoding.

static string
fixEncoding(string $s)

Removes all invalid UTF-8 characters from a string.

static string
chr(int $code)

Returns a specific character in UTF-8 from code point (number in range 0x0000.

static bool
startsWith(string $haystack, string $needle)

Starts the $haystack string with the prefix $needle?

static bool
endsWith(string $haystack, string $needle)

Ends the $haystack string with the suffix $needle?

static bool
contains(string $haystack, string $needle)

Does $haystack contain $needle?

static string
substring(string $s, int $start, int $length = null)

Returns a part of UTF-8 string specified by starting position and length. If start is negative, the returned string will start at the start'th character from the end of string.

static string
normalize(string $s)

Removes control characters, normalizes line breaks to \n, removes leading and trailing blank lines, trims end spaces on lines, normalizes UTF-8 to the normal form of NFC.

static string
normalizeNewLines(string $s)

Standardize line endings to unix-like.

static string
toAscii(string $s)

Converts UTF-8 string to ASCII, ie removes diacritics etc.

static string
webalize(string $s, string $charlist = null, bool $lower = true)

Modifies the UTF-8 string to the form used in the URL, ie removes diacritics and replaces all characters except letters of the English alphabet and numbers with a hyphens.

static string
truncate(string $s, int $maxLen, string $append = "…")

Truncates a UTF-8 string to given maximal length, while trying not to split whole words. Only if the string is truncated, an ellipsis (or something else set with third argument) is appended to the string.

static string
indent(string $s, int $level = 1, string $chars = "\t")

Indents a multiline text from the left. Second argument sets how many indentation chars should be used, while the indent itself is the third argument (tab by default).

static string
lower(string $s)

Converts all characters of UTF-8 string to lower case.

static string
firstLower(string $s)

Converts the first character of a UTF-8 string to lower case and leaves the other characters unchanged.

static string
upper(string $s)

Converts all characters of a UTF-8 string to upper case.

static string
firstUpper(string $s)

Converts the first character of a UTF-8 string to upper case and leaves the other characters unchanged.

static string
capitalize(string $s)

Converts the first character of every word of a UTF-8 string to upper case and the others to lower case.

static bool
compare(string $left, string $right, int $length = null)

Compares two UTF-8 strings or their parts, without taking character case into account. If length is null, whole strings are compared, if it is negative, the corresponding number of characters from the end of the strings is compared, otherwise the appropriate number of characters from the beginning is compared.

static string
findPrefix(array $strings)

Finds the common prefix of strings or returns empty string if the prefix was not found.

static int
length(string $s)

Returns number of characters (not bytes) in UTF-8 string.

static string
trim(string $s, string $charlist = self::TRIM_CHARACTERS)

Removes all left and right side spaces (or the characters passed as second argument) from a UTF-8 encoded string.

static string
padLeft(string $s, int $length, string $pad = ' ')

Pads a UTF-8 string to given length by prepending the $pad string to the beginning.

static string
padRight(string $s, int $length, string $pad = ' ')

Pads UTF-8 string to given length by appending the $pad string to the end.

static string
reverse(string $s)

Reverses UTF-8 string.

static string|null
before(string $haystack, string $needle, int $nth = 1)

Returns part of $haystack before $nth occurence of $needle or returns null if the needle was not found.

static string|null
after(string $haystack, string $needle, int $nth = 1)

Returns part of $haystack after $nth occurence of $needle or returns null if the needle was not found.

static int|null
indexOf(string $haystack, string $needle, int $nth = 1)

Returns position in bytes of $nth occurence of $needle in $haystack or null if the $needle was not found.

static array
split(string $subject, string $pattern, int $flags = 0)

Splits a string into array by the regular expression.

static array|null
match(string $subject, string $pattern, int $flags = 0, int $offset = 0)

Checks if given string matches a regular expression pattern and returns an array with first found match and each subpattern.

static array
matchAll(string $subject, string $pattern, int $flags = 0, int $offset = 0)

Finds all occurrences matching regular expression pattern and returns a two-dimensional array.

static string
replace(string $subject, $pattern, $replacement = null, int $limit = -1)

Replaces all occurrences matching regular expression $pattern which can be string or array in the form pattern => replacement.

static 
pcre(string $func, array $args)

No description

Details

at line 29
static bool checkEncoding(string $s)

Checks if the string is valid in UTF-8 encoding.

Parameters

string $s

Return Value

bool

at line 38
static string fixEncoding(string $s)

Removes all invalid UTF-8 characters from a string.

Parameters

string $s

Return Value

string

at line 49
static string chr(int $code)

Returns a specific character in UTF-8 from code point (number in range 0x0000.

.D7FF or 0xE000..10FFFF).

Parameters

int $code

Return Value

string

Exceptions

InvalidArgumentException if code point is not in valid range

at line 63
static bool startsWith(string $haystack, string $needle)

Starts the $haystack string with the prefix $needle?

Parameters

string $haystack
string $needle

Return Value

bool

at line 72
static bool endsWith(string $haystack, string $needle)

Ends the $haystack string with the suffix $needle?

Parameters

string $haystack
string $needle

Return Value

bool

at line 81
static bool contains(string $haystack, string $needle)

Does $haystack contain $needle?

Parameters

string $haystack
string $needle

Return Value

bool

at line 91
static string substring(string $s, int $start, int $length = null)

Returns a part of UTF-8 string specified by starting position and length. If start is negative, the returned string will start at the start'th character from the end of string.

Parameters

string $s
int $start
int $length

Return Value

string

at line 110
static string normalize(string $s)

Removes control characters, normalizes line breaks to \n, removes leading and trailing blank lines, trims end spaces on lines, normalizes UTF-8 to the normal form of NFC.

Parameters

string $s

Return Value

string

at line 135
static string normalizeNewLines(string $s)

Standardize line endings to unix-like.

Parameters

string $s

Return Value

string

at line 144
static string toAscii(string $s)

Converts UTF-8 string to ASCII, ie removes diacritics etc.

Parameters

string $s

Return Value

string

at line 207
static string webalize(string $s, string $charlist = null, bool $lower = true)

Modifies the UTF-8 string to the form used in the URL, ie removes diacritics and replaces all characters except letters of the English alphabet and numbers with a hyphens.

Parameters

string $s
string $charlist
bool $lower

Return Value

string

at line 223
static string truncate(string $s, int $maxLen, string $append = "…")

Truncates a UTF-8 string to given maximal length, while trying not to split whole words. Only if the string is truncated, an ellipsis (or something else set with third argument) is appended to the string.

Parameters

string $s
int $maxLen
string $append

Return Value

string

at line 245
static string indent(string $s, int $level = 1, string $chars = "\t")

Indents a multiline text from the left. Second argument sets how many indentation chars should be used, while the indent itself is the third argument (tab by default).

Parameters

string $s
int $level
string $chars

Return Value

string

at line 257
static string lower(string $s)

Converts all characters of UTF-8 string to lower case.

Parameters

string $s

Return Value

string

at line 266
static string firstLower(string $s)

Converts the first character of a UTF-8 string to lower case and leaves the other characters unchanged.

Parameters

string $s

Return Value

string

at line 275
static string upper(string $s)

Converts all characters of a UTF-8 string to upper case.

Parameters

string $s

Return Value

string

at line 284
static string firstUpper(string $s)

Converts the first character of a UTF-8 string to upper case and leaves the other characters unchanged.

Parameters

string $s

Return Value

string

at line 293
static string capitalize(string $s)

Converts the first character of every word of a UTF-8 string to upper case and the others to lower case.

Parameters

string $s

Return Value

string

at line 304
static bool compare(string $left, string $right, int $length = null)

Compares two UTF-8 strings or their parts, without taking character case into account. If length is null, whole strings are compared, if it is negative, the corresponding number of characters from the end of the strings is compared, otherwise the appropriate number of characters from the beginning is compared.

Parameters

string $left
string $right
int $length

Return Value

bool

at line 326
static string findPrefix(array $strings)

Finds the common prefix of strings or returns empty string if the prefix was not found.

Parameters

array $strings

Return Value

string

at line 347
static int length(string $s)

Returns number of characters (not bytes) in UTF-8 string.

That is the number of Unicode code points which may differ from the number of graphemes.

Parameters

string $s

Return Value

int

at line 356
static string trim(string $s, string $charlist = self::TRIM_CHARACTERS)

Removes all left and right side spaces (or the characters passed as second argument) from a UTF-8 encoded string.

Parameters

string $s
string $charlist

Return Value

string

at line 366
static string padLeft(string $s, int $length, string $pad = ' ')

Pads a UTF-8 string to given length by prepending the $pad string to the beginning.

Parameters

string $s
int $length
string $pad

Return Value

string

at line 377
static string padRight(string $s, int $length, string $pad = ' ')

Pads UTF-8 string to given length by appending the $pad string to the end.

Parameters

string $s
int $length
string $pad

Return Value

string

at line 388
static string reverse(string $s)

Reverses UTF-8 string.

Parameters

string $s

Return Value

string

at line 401
static string|null before(string $haystack, string $needle, int $nth = 1)

Returns part of $haystack before $nth occurence of $needle or returns null if the needle was not found.

Negative value means searching from the end.

Parameters

string $haystack
string $needle
int $nth

Return Value

string|null

at line 414
static string|null after(string $haystack, string $needle, int $nth = 1)

Returns part of $haystack after $nth occurence of $needle or returns null if the needle was not found.

Negative value means searching from the end.

Parameters

string $haystack
string $needle
int $nth

Return Value

string|null

at line 427
static int|null indexOf(string $haystack, string $needle, int $nth = 1)

Returns position in bytes of $nth occurence of $needle in $haystack or null if the $needle was not found.

Negative value of $nth means searching from the end.

Parameters

string $haystack
string $needle
int $nth

Return Value

int|null

at line 469
static array split(string $subject, string $pattern, int $flags = 0)

Splits a string into array by the regular expression.

Argument $flag takes same arguments as preg_split(), but PREG_SPLIT_DELIM_CAPTURE is set by default.

Parameters

string $subject
string $pattern
int $flags

Return Value

array

at line 479
static array|null match(string $subject, string $pattern, int $flags = 0, int $offset = 0)

Checks if given string matches a regular expression pattern and returns an array with first found match and each subpattern.

Argument $flag takes same arguments as function preg_match().

Parameters

string $subject
string $pattern
int $flags
int $offset

Return Value

array|null

at line 494
static array matchAll(string $subject, string $pattern, int $flags = 0, int $offset = 0)

Finds all occurrences matching regular expression pattern and returns a two-dimensional array.

Argument $flag takes same arguments as function preg_match_all(), but PREG_SET_ORDER is set by default.

Parameters

string $subject
string $pattern
int $flags
int $offset

Return Value

array

at line 513
static string replace(string $subject, $pattern, $replacement = null, int $limit = -1)

Replaces all occurrences matching regular expression $pattern which can be string or array in the form pattern => replacement.

Parameters

string $subject
$pattern
$replacement
int $limit

Return Value

string

at line 531
static pcre(string $func, array $args)

Parameters

string $func
array $args