-
Notifications
You must be signed in to change notification settings - Fork 30
str
-
class
str(php\lib\str). -
package
std.
use php\lib\str;
// или
use std;Класс для работы со строками в php, состоит только из статических методов, экземпляр класса создать невозможно.
-
Поиск по строке
-
str ::pos()- позиция подстроки -
str ::posIgnoreCase()- позиция подстроки без регистро-зависимости -
str ::lastPos()- позиция подстроки с конца -
str ::lastPosIgnoreCase()- позиция строки с конца без регистро-зависимости -
str ::contains()- содержит ли строку -
str ::count()- количество подстрок в строке
-
-
Сравнение строк
-
str ::compare()- сравнение 2х строк -
str ::compareIgnoreCase()- сравнение 2х строк без регистро-зависимости -
str ::equalsIgnoreCase()- равны ли 2 строки не учитывая регистр -
str ::startsWith()- начинается ли строка с подстроки -
str ::endsWith()- кончается ли строка подстрокой -
str ::isNumber()- является ли строка числом -
str ::isLower()- все ли символы в строке в нижнем регистре -
str ::isUpper()- все ли символы в строке в верхнем регистре
-
-
Преобразование строк
-
str ::sub()- подстрока от строки -
str ::lower()- строка в нижнем регистре -
str ::lowerFirst()- строка с первым символом в нижнем регистре -
str ::upper()- строка в верхнем регистре -
str ::upperFirst()- строка с первым символом в нижнем регистре -
str ::length()- длина строки -
str ::replace()- заменить в строке -
str ::repeat()- повторить строку несколько раз -
str ::trim()- убрать пустые символы строки слева и справа -
str ::trimRight()- убрать пустые символы строки только справа -
str ::trimLeft()- убрать пустые символы строки только слева -
str ::reverse()- перевернуть строку -
str ::shuffle()- перемешать символы в строке в случайном порядке -
str ::random()- сгенерировать случайную строку -
str ::split()- строка в массив с разделителем -
str ::join()- массив в строку с разделителем -
str ::encode()- кодирование строки -
str ::decode()- декодирование строку в родную кодировку -
str ::format()- форматирование строки -
str ::uuid()- uuid генератор строк -
str ::hash()- хеширование строки -
str ::lines()- многострочный текст в массив
-
str::pos(string $string, string $search, int $fromIndex = 0): intМетод ищет подстроку $search в строке $string и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод учитывает регистр символов и позволяет начинать поиск с определенного по счету символа $fromIndex.
$search = 'родилась';
$string = 'В лесу родилась ёлочка';
$pos = str::pos($string, $search);
alert('Позиция = ' . $pos);str::posIgnoreCase(string $string, string $search, int $fromIndex = 0): intМетод не учитывает регистр символов при поиске. См. также
pos().
Метод ищет подстроку $search в строке $string и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод позволяет начинать поиск с определенного по счету символа $fromIndex.
str::lastPos(string $string, string $search, int $fromIndex = null): intМетод учитывает регистр символов при поиске.
Метод ищет подстроку $search в строке $string начиная с конца строки и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод позволяет начинать поиск с определенного по счету символа $fromIndex, по-умолчанию он равен null, что означает - искать, начиная с последнего символа строки.
$string = 'ту-ту-ру';
$search = 'ту';
$pos = str::lastPos($string, $search);
// $pos будет равен 3, а не 0, т.к. поиск идет с конца.str::lastPosIgnoreCase(string $string, string $search, int $fromIndex = null): intМетод не учитывает регистр символов при поиске. См. также
lastPos().
Метод ищет подстроку $search в строке $string начиная с конца строки и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод позволяет начинать поиск с определенного по счету символа $fromIndex, по-умолчанию он равен null, что означает - искать, начиная с последнего символа строки.
str::sub(string $string, int $beginIndex, int $endIndex = null): stringМетод возвращает подстроки из строки $string начиная с $beginIndex по счету символа (включительно) и до $endIndex символа (не включительно). Параметр $endIndex не обязательный, если его не передать, то подстрока будет скопирована до конца строки $string. Индексация символов начинается с нуля.
$string = 'Hello World';
alert(str::sub($string, 6)); // выведет World, W - 6 символ.
alert(str::sub($string, 6, 9)); // выведет Wor, l - 9 символ.str::compare(string $string1, string $string2): intСравнивает две строки и возвращает результат в виде числа, где:
-
0- означает, что строки равны. -
больше 0- строка$string1больше$string2. -
меньше 0- строка$string1меньше$string2.
str::compareIgnoreCase(string $string1, string $string2): intСравнивает две строки и возвращает результат в виде числа. Метод идентичен compare(), за исключением того, что он при сравнении игнорирует регистр символов сравниваемых строк.
str::equalsIgnoreCase(string $string1, string $string2): boolВозвращает true если две строки равны друг другу без учета регистра символов.
if (str::equalsIgnoreCase('ПРИВЕТ', 'привет')) {
alert('ПРИВЕТ == привет, без учета регистра символов');
}См. также
compareIgnoreCase().
str::startsWith(string $string, string $prefix, int $offset = 0): boolВозвращает true если строка $string начинается с префикс-строки $prefix. Можно указать, с какого символа по счету проверять префикс через третий аргумент $offset (индексация идет с нуля).
$string = 'gamedev';
if (str::startsWith($string, 'game')) {
alert('Строка начинается со слова game');
}См. также
endsWith().
str::endsWith(string $string, string $suffix): boolВозвращает true если строка $string оканчивается суффикс-строкой $suffix.
$string = 'file.mp3';
if (str::endsWith($string, '.mp3')) {
alert('Строка оканчивается на ".mp3"');
}См. также
startsWith().
str::isNumber(string $string, string $bigNumbers = true): boolВозвращает true если строка $string является целым числом. $bigNumbers по-умолчанию true, что означает, что функция будет возвращать true даже для бесконечно больших строковых чисел, с которым невозможно простым путем совершать математические операции в php.
var_dump(str::isNumber('3784798738304908048498498')); // выведет true.
var_dump(str::isNumber('39874dhfj')); // выведет false.
var_dump(str::isNumber('00304')); // выведет true.
var_dump(str::isNumber('3389e4')); // выведет false.
var_dump(str::isNumber('3.49')); // выведет false.
var_dump(str::isNumber('23 ')); // выведет false.str::isLower(string $string): boolВозвращает true если все символы в строке $string в нижнем регистре.
str::isUpper(string $string): boolВозвращает true если все символы в строке $string в верхнем регистре.
str::contains(string $string, string $search): boolОсуществляет поиск подстроки $search в строке $string и если подстрока найдена, возвращает true.
$nickname = 'devel.next';
if (str::contains($nickname, '.')) {
alert('Ник содержит точку');
}str::count(string $string, string $subString, int $offset = 0): intВозвращает число вхождений подстроки $subString в строку $string начиная с символа $offset (по-умолчанию с начала строки).
$string = 'hello develnext';
$eCount = str::count($string, 'e');
alert("В строке $eCount шт. символов 'e'");str::lower(string $string): stringКонвертирует все символы строки '$string' в нижний регистр, возвращает полученную строку.
$string = 'Привет Мир';
alert(str::lower($string)); // выведет 'привет мир'См. также
upper().
str::lowerFirst(string $string): stringВозвращает строку, в который первый символ переведен в нижний регистр.
$string = 'GameDev';
alert(str::lowerFirst($string)); // выведет 'gameDev'.См. также
upperFirst().
str::upper(string $string): stringКонвертирует все символы строки $string в верхний регистр и возвращает её.
$string = 'HelloWorld';
alert( str::upper($string) ); // выведет 'HELLOWORLD'.См. также
lower().
str::upperFirst(string $string): stringВозвращает строку, в который первый символ переведен в верхний регистр.
$string = 'gameDev';
alert(str::lowerFirst($string)); // выведет 'GameDev'.См. также
lowerFirst().
str::length(string $string): intВозвращает длину строки, т.е. количество символов внутри строки.
$string = 'develnext';
$len = str::length($string);
alert("Число символов в названии develnext = $len");str::replace(string $string, string $target, string $replacement): stringВозвращает строку из $string, в которой были заменены все вхождения строки $target на строку $replacement.
$string = 'develnext';
$newString = str::replace($string, 'next', 'studio');
alert($newString); // выведет 'develstudio'.str::repeat(string $string, int $amount): stringФормирует с помощью $amount повторений новую строку из $string.
$string = 'hello!';
alert(str::repeat($string, 3)); // выведет hello!hello!hello!str::trim(string $string, string $charList = "\t\n\r\v\0 "): stringОбрезает пустые символы из $charList слева и справа от строки $string.
По-умолчанию пустыми символами являются
\t- таб,\nи\rсимволы переноса строки,\0- нулевой символ и пробел.
$string = ' DevelNext ';
// выведет просто DevelNext без пробелов справа и слева.
alert(str::trim($string)); str::trimRight(string $string, string $charList = "\t\n\r\v\0 "): stringОбрезает пустые символы из $charList справа от строки $string.
По-умолчанию пустыми символами являются
\t- таб,\nи\rсимволы переноса строки,\0- нулевой символ и пробел.
См. также
trim().
str::trimLeft(string $string, string $charList = "\t\n\r\v\0 "): stringОбрезает пустые символы из $charList слева от строки $string.
По-умолчанию пустыми символами являются
\t- таб,\nи\rсимволы переноса строки,\0- нулевой символ и пробел.
См. также
trim().
str::reverse(string $string): stringПереворачивает строку $string.
$string = 'Hello';
// выведет 'olleH'
var_dump( str::reverse($string) );str::shuffle(string $string): stringВозвращает исходную строку $string, в которой все символы перемешаны в случайном порядке.
См. также
random.
str::random(int $length = 16, $set = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789'): stringВозвращает случайную строку длиной $length, составленную из набора символов $set. По-умолчанию, если ничего не передать, вернет строку из 16 символов из латинского алфавита и цифр.
$randString = str::random();
$randString = str::random(8);
$randString = str::random(5, 'ABCDFE123');См. также
shuffle.
str::split(string $string, string $separator, $limit = 0)Разбивает строку $string на массив с помощью строки-разделителя $separator. Эквивалент explode(). Можно указать максимум разбиений через $limit, 0 - означает отсутствие максимума.
$str = 'car,air,hotel';
// выведет array('car', 'air', 'hotel')
print_r(str::split($str, ','));
// выведет array('car', 'air,hotel')
print_r(str::split($str, ',', 2));str::join(Iterator|array $iterable, string $separator, int $limit = 0): stringСоединяет все элементы массива или итератора $iterable в строку через разделитель $separator. Эквивалент implode(), за исключением того, что еще умеет работать с любыми итерируемыми объектами.
$array = ['car', 'air', 'hotel'];
// выведет 'car--air--hotel'
print_r(str::join($array, '--'));str::encode(string $string, string $charset): stringКодирует строку $string в нужную кодировку $charset, на выходе обычно получается бинарная строка. Выходит, что метод кодирует строку из родной кодировки jphp для строк в другую. $charset может быть windows-1251 или любое другое название кодировки.
str::decode(string $string, string $charset): stringДекодирует бинарную строку $string из кодировки $charset в родную кодировку строк в jphp.
str::format(string $format, ...$args): stringФорматирует строку в формате $format с аргументами $args. В формате можно указать переданные аргументы через специальное выражение %s.
$format = 'Привет, %s, это я, твоя %s';
$string = str::format($format, 'Мир', 'Судьба');
alert($string); // выведет 'Привет, Мир, это я, твоя Судьба'str::uuid(string $value = null): stringВозвращает случайный UUID идентификатор или от строки $value. UUID это строка примерно такого вида: 123e4567-e89b-12d3-a456-426655440000, см. подробнее здесь: https://ru.wikipedia.org/wiki/UUID.
str::hash(string $string, string $algorithm = 'SHA-1'): stringВозвращает хеш строки $string, по-умолчанию SHA-1. Алгоритм можно менять через аргумент $algorightm.
$sha1 = str::hash('develnext');
$md5 = str::hash('develnext', 'MD5');
$md2 = str::hash('develnext', 'MD2');
$sha256 = str::hash('develnext', 'SHA-256');
$sha512 = str::hash('develnext', 'SHA-512');str::lines(string $string, bool $removeEmpty = false): arrayРазбивает строку $string с помощью символа разделителя "перехода на новую строку" \r и \n.
$string = "Строка\nНовая строка\nЕще новая строка";
print_r(str::lines($string));
/*
Выведет:
array (
"Строка", "Новая строка", "Еще новая строка"
)
*/