class Strings

String tools library.

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..D7FF or 0xE000..10FFFF).

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|null $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|null $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|null $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 characters 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. Parenthesized expression in the delimiter are captured.

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. Result is array of matches (ie uses by default PREG_SET_ORDER).

static string
replace(string $subject, string|array $pattern, string|callable $replacement = '', 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 30
static bool checkEncoding(string $s)

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

Parameters

string $s

Return Value

bool

at line 39
static string fixEncoding(string $s)

Removes all invalid UTF-8 characters from a string.

Parameters

string $s

Return Value

string

at line 50
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

at line 65
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 74
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 83
static bool contains(string $haystack, string $needle)

Does $haystack contain $needle?

Parameters

string $haystack
string $needle

Return Value

bool

at line 93
static string substring(string $s, int $start, int|null $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|null $length

Return Value

string

at line 113
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 138
static string normalizeNewLines(string $s)

Standardize line endings to unix-like.

Parameters

string $s

Return Value

string

at line 147
static string toAscii(string $s)

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

Parameters

string $s

Return Value

string

at line 213
static string webalize(string $s, string|null $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|null $charlist
bool $lower

Return Value

string

at line 230
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 253
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 266
static string lower(string $s)

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

Parameters

string $s

Return Value

string

at line 275
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 284
static string upper(string $s)

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

Parameters

string $s

Return Value

string

at line 293
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 302
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 313
static bool compare(string $left, string $right, int|null $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|null $length

Return Value

bool

at line 336
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 359
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 370
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 381
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 393
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 404
static string reverse(string $s)

Reverses UTF-8 string.

Parameters

string $s

Return Value

string

at line 418
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 431
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 444
static int|null indexOf(string $haystack, string $needle, int $nth = 1)

Returns position in characters 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 491
static array split(string $subject, string $pattern, int $flags = 0)

Splits a string into array by the regular expression. Parenthesized expression in the delimiter are captured.

Parameter $flags can be any combination of PREG_SPLIT_NO_EMPTY and PREG_OFFSET_CAPTURE flags.

Parameters

string $subject
string $pattern
int $flags

Return Value

array

at line 506
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.

Parameter $flags can be any combination of PREG_OFFSET_CAPTURE and PREG_UNMATCHED_AS_NULL flags.

Parameters

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

Return Value

array|null

at line 528
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. Result is array of matches (ie uses by default PREG_SET_ORDER).

Parameter $flags can be any combination of PREG_OFFSET_CAPTURE, PREG_UNMATCHED_AS_NULL and PREG_PATTERN_ORDER flags.

Parameters

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

Return Value

array

at line 554
static string replace(string $subject, string|array $pattern, string|callable $replacement = '', int $limit = -1)

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

Parameters

string $subject
string|array $pattern
string|callable $replacement
int $limit

Return Value

string

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

internal  
 

No description

Parameters

string $func
array $args

Traits

Static class.