Функция предназначена для генерации строки из повторяющихся групп символов.
args[
- количество генерируемых групп (только число)
0
]$args[
- какие символы должны присутствовать в строке. По умолчанию 1
]'0'
. Только текстовое значение.
Если написать в $args[
не один символ а группу, будет сгенерирована строка из 1
] args[
повторяющихся групп символов.0
]
Функция получает строку случайных символов
args[0
]
- необходимая длина строки. Если не задана, выбирается случайным образом от 1 до 8 символов. Только число
$args[1
]
- символы, которых не должно быть в строке, либо управляющая конструкция:
[include]
или [inc]
- указывает, что нужно включить в набор только указанные предопределённые группы символов. Для указания групп используются дополнительные команды:
[\d]
- включить цифры[\h]
- включить шестнадцатеричные цифры[\s]
- включить пробел и символ табуляции[\w]
- включить буквы, цифры и символ подчёркивания (в т.ч. кириллица)[\я]
- включить кириллические символы[\z]
- включить латинские символы[\all]
- все выше перечисленные наборы символов[inc][\d][\z]
- цифры и латинские буквы.[lcase]
- перевести все символы в нижний регистр (только для букв)[ucase]
- перевести все символы в верхний регистр (только для букв)[only this]
или [ot]
- указывает, что в набор нужно включить только символы, перечисленные в $args[2]$args[2
]
- символы, стоящие здесь, напротив включаются в строку (например, можно добавить пробел к стандартному набору символов, или символ табуляции). Только текст.
Находит позицию элемента в массиве, содержащего регулярное выражение, либо возвращает -1
$args[
- имя массива
0
]$args[
- регулярное выражение
1
]$args[
- 2
][first]
или [last]
- первая или последняя позиция
args[
, 3
]args[
- с какого по какой элемент проводить поиск
4
]
Функция использует arrcomp, однако, в отличие от arrcomp, находит элемент, который содержит строку, соответствующую регулярному выражению, а не тот элемент, который полностью соответствует регулярному выражению.
При больших размерах массива (более 1000 элементов на core-i5/x64/2,5 ГГц/8 Гб RAM), функция может заметно подвешивать плеер.
Из переданного блока текста выбираются строки, находящиеся между разделителями, в том числе строка до первого разделителя и после последнего. В качестве разделителя можно задать что угодно: символ, слово, строку. Для того, чтобы задать несколько разделителей, или неявный разделитель (шаблон разделителя. Например, html-тег), можно использовать регулярные выражения.
$args[
- отрывок текста, который нужно разбить на строки
0
]$args[
- имя массива, в который нужно поместить полученные строки
1
]$args[
- разделитель, по которому нужно произвести выборку строк.
2
]$args[
- дополнительные опции (можно комбинировать, записав через пробел):
3
]
[trim]
- если строка до первого разделителя и/или строка после последнего разделителя окажутся пустыми, они не будут добавлены в массив,[notspace]
- будут проигнорированы все пустые строки между разделителями,[left]
- сохранить в результирующей строке (строке, помещённой в массив) разделитель, поместив его слева (в начале строки),[right]
- сохранить в результирующей строке (строке, помещённой в массив) разделитель, поместив его справа (в конце строки),[regular]
- указанный в $args[2
]
разделитель считается регулярным выражением. При использовании этой опции, опции [left]
и [right]
не работают.[ucase]
- все результирующие строки будут приведены к верхнему регистру. Имеет приоритет перед [lcase]
. Не влияет на разделители.[lcase]
- все результирующие строки будут приведены к нижнему регистру. Не влияет на разделители.[strip]
- у всех значений, обнаруженных между разделителями, будут отсечены прилегающие пробелы.Посмотрим на выборку строк по разным разделителям на примере одного текста. Текст помещаем в переменную для удобства записи:
Разбиваем на строки по символу переноса строки:
Результат:
Разбиваем на строки по пробелу:
Результат (Заметьте, что символ переноса строки в этом случае попадает в результирующие строки. Туда же попадают знаки препинания и прочее):
А вот пример выборки по нескольким разделителям с игнорированием пустых строк. Из текста будут выбраны исключительно слова:
Результат:
Функция похожа на функцию TRIM
. Она удаляет прилегающие символы пробелов, табуляций и переводов строк. Так же функция позволяет убирать все символы преформатирования из текста.
$args[
- обрабатываемый текст
0
]$args[
- управляющее слово: 1
][strip]
— в каждой строке отсекаются прилегающие пробелы.
Для удобства помещаем текст в переменную:
Результат расширенного отсечения:
Результат отсечения символов преформатирования:
В последнем случае остекаются не только пробелы и символы табуляции перед строками, но и в конце.
Предназначение этой функции разрежать строку. Через определённое количество символов в строку вставляются разделители.
$args[0
]
- строка, текст;
args[1
]
- через какое количество символов вставлять разделитель. По умолчанию разделитель вставляется через каждый один символ;
$args[2
]
- разделитель. По умолчанию символ пробела;
$args[3
]
- управление:
[up]
- разрежает текст от последнего символа к первому;[right]
- добавляет разделитель в конце разрежаемой строки;[left]
- добавляет разделитель перед разрежаемой строкой.Функция расширяет возможности $mid
, позволяя указывать номера символов: с какого по какой вырезать из строки. Можно указывать отрицательные номера, тогда они считаются от конца строки.
$args[0
]
- строка, текст;
args[1
]
- номер, с какого символа начать вырезать строку. По умолчанию — 2
. Если указать отрицательное значение, будет взят символ от конца строки;
args[2
]
- номер, до какого символа вырезать строку. По умолчанию — -2
. Если указать отрицательное значение, будет взят символ от конца строки.
Функция генерирует UUID-подобный набор символов, который можно использовать как уникальный идентификатор. Поскольку используется генератор псевдослучайных чисел, вероятность повторения есть, но она мала.
Aleks Versus'Easy Libraries'2013-2024
Aleks Versus'Game Adventure Making'Really Unimaginable Stories'2013-2024