Skip to content
Dmitriy Zayceff edited this page Feb 14, 2017 · 49 revisions
  • class str (php\lib\str).
use php\lib\str;

Класс для работы со строками в php, состоит только из статических методов, экземпляр класса создать невозможно.


Статичные методы


pos()

str::pos(string $string, string $search, int $fromIndex = 0): int

Метод ищет подстроку $search в строке $string и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод учитывает регистр символов и позволяет начинать поиск с определенного по счету символа $fromIndex.

$search = 'родилась';
$string = 'В лесу родилась ёлочка';

$pos = str::pos($string, $search);

alert('Позиция = ' . $pos);

posIgnoreCase()

str::posIgnoreCase(string $string, string $search, int $fromIndex = 0): int

Метод не учитывает регистр символов при поиске. См. также pos().

Метод ищет подстроку $search в строке $string и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод позволяет начинать поиск с определенного по счету символа $fromIndex.


lastPos()

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, т.к. поиск идет с конца.

lastPosIgnoreCase()

str::lastPosIgnoreCase(string $string, string $search, int $fromIndex = null): int

Метод не учитывает регистр символов при поиске. См. также lastPos().

Метод ищет подстроку $search в строке $string начиная с конца строки и возвращает её позицию (начиная с нуля). Если ничего не было найдено, метод вернет -1. Метод позволяет начинать поиск с определенного по счету символа $fromIndex, по-умолчанию он равен null, что означает - искать, начиная с последнего символа строки.


sub()

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 символ.

compare()

str::compare(string $string1, string $string2): int

Сравнивает две строки и возвращает результат в виде числа, где:

  • 0 - означает, что строки равны.
  • больше 0 - строка $string1 больше $string2.
  • меньше 0 - строка $string1 меньше $string2.

compareIgnoreCase()

str::compareIgnoreCase(string $string1, string $string2): int

Сравнивает две строки и возвращает результат в виде числа. Метод идентичен compare(), за исключением того, что он при сравнении игнорирует регистр символов сравниваемых строк.


equalsIgnoreCase()

str::equalsIgnoreCase(string $string1, string $string2): bool

Возвращает true если две строки равны друг другу без учета регистра символов.

if (str::equalsIgnoreCase('ПРИВЕТ', 'привет')) {
   alert('ПРИВЕТ == привет, без учета регистра символов');
}

См. также compareIgnoreCase().


startsWith()

str::startsWith(string $string, string $prefix, int $offset = 0): bool

Возвращает true если строка $string начинается с префикс-строки $prefix. Можно указать, с какого символа по счету проверять префикс через третий аргумент $offset (индексация идет с нуля).

$string = 'gamedev';

if (str::startsWith($string, 'game')) {
    alert('Строка начинается со слова game');
}

См. также endsWith().


endsWith()

str::endsWith(string $string, string $suffix): bool

Возвращает true если строка $string оканчивается суффикс-строкой $suffix.

$string = 'file.mp3';

if (str::endsWith($string, '.mp3')) {
    alert('Строка оканчивается на ".mp3"');
}

См. также startsWith().


isNumber()

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.

isLower()

str::isLower(string $string): bool

Возвращает true если все символы в строке $string в нижнем регистре.


isUpper

str::isUpper(string $string): bool

Возвращает true если все символы в строке $string в верхнем регистре.


contains()

str::contains(string $string, string $search): bool

Осуществляет поиск подстроки $search в строке $string и если подстрока найдена, возвращает true.

$nickname = 'devel.next';

if (str::contains($nickname, '.')) {
    alert('Ник содержит точку');
}

count()

str::count(string $string, string $subString, int $offset = 0): int

Возвращает число вхождений подстроки $subString в строку $string начиная с символа $offset (по-умолчанию с начала строки).

$string = 'hello develnext';

$eCount = str::count($string, 'e');
alert("В строке $eCount шт. символов 'e'");

lower()

str::lower(string $string): string

Конвертирует все символы строки '$string' в нижний регистр, возвращает полученную строку.

$string = 'Привет Мир';

alert(str::lower($string)); // выведет 'привет мир'

См. также upper().


lowerFirst()

str::lowerFirst(string $string): string

Возвращает строку, в который первый символ переведен в нижний регистр.

$string = 'GameDev';

alert(str::lowerFirst($string)); // выведет 'gameDev'.

См. также upperFirst().


upper()

str::upper(string $string): string

Конвертирует все символы строки $string в верхний регистр и возвращает её.

$string = 'HelloWorld';

alert( str::upper($string) ); // выведет 'HELLOWORLD'.

См. также lower().


upperFirst()

str::upperFirst(string $string): string

Возвращает строку, в который первый символ переведен в верхний регистр.

$string = 'gameDev';

alert(str::lowerFirst($string)); // выведет 'GameDev'.

См. также lowerFirst().


length()

str::length(string $string): int

Возвращает длину строки, т.е. количество символов внутри строки.

$string = 'develnext';

$len = str::length($string);

alert("Число символов в названии develnext = $len");

replace()

str::replace(string $string, string $target, string $replacement): string

Возвращает строку из $string, в которой были заменены все вхождения строки $target на строку $replacement.

$string = 'develnext';

$newString = str::replace($string, 'next', 'studio');
alert($newString); // выведет 'develstudio'.

repeat()

str::repeat(string $string, int $amount): string

Формирует с помощью $amount повторений новую строку из $string.

$string = 'hello!';

alert(str::repeat($string, 3)); // выведет hello!hello!hello!

trim()

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)); 

trimRight()

str::trimRight(string $string, string $charList = "\t\n\r\v\0 "): string

Обрезает пустые символы из $charList справа от строки $string.

По-умолчанию пустыми символами являются \t - таб, \n и \r символы переноса строки, \0 - нулевой символ и пробел.

См. также trim().


trimLeft()

str::trimLeft(string $string, string $charList = "\t\n\r\v\0 "): string

Обрезает пустые символы из $charList слева от строки $string.

По-умолчанию пустыми символами являются \t - таб, \n и \r символы переноса строки, \0 - нулевой символ и пробел.

См. также trim().


Clone this wiki locally