Занимательные задачи PHP
338 subscribers
1 photo
15 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят по будням в 14.00.
Download Telegram
Задача 104
Первые N слов

Дан текст. Напишите функцию, которая получит первые N слов из этого текста.
Задача 105
Первые N предложений

Дан текст. Напишите функцию, которая получит первые N предложений из этого текста.
Задача 106
Разбиение текста в многострочный

Дан текст. Разбейте этот текст в многострочный так, чтобы в каждой строке было не более 100 символов и при этом не разрывались слова и не отрывались знаки препинания.
Задача 107
Выполнить операции

Дана строка с математическими операциями, например, такая: '2 + 3 * 5'. Выполните операции и выведите результат.
Задача 108
Массив емейлов

Дан текст со словами, среди которых встречаются емейлы. Напишите скрипт, который получит массив этих емейлов.
Задача 109
Нормальная форма одночлена

Дана строка с математическими переменными и степенями, например, такая: 'a^5 * b^2 * a^7 * b^3'. Напишите программу, которая будет приводить это выражение в нормальную форму, в нашем случае вот такую: 'a^12*b^5'.
Задача 110
Минуты равны секундам

Дана строка с текстом, среди которого встречается время в формате '12:59:59'. Получите из этой строки массив, содержащий время, в котором минуты равны секундам.
Задача 111
Список дат на N дней

Дана дата в формате '31.12.2025'. Напишите скрипт, который выведет список дней от заданной даты на N дней вперед, прибавляя по одному дню.
Задача 112
Часы и минуты перевернуты

Дана строка с текстом, среди которого встречается время в формате '12:59'. Получите из этой строки массив, содержащий время, в котором часы и минуты состоят из тех же цифр, но в обратном порядке. Например, вот такое время: '12:21'.
Задача 113
Сменить формат даты в строке

Дана строка с текстом, среди которого встречаются даты в формате '2025-12-31'. Напишите скрипт, который найдет в тексте эти даты и сменит им формат на '31.12.2025'.
Задача 114
Часы и минуты одинаковые цифры

Дана строка с текстом, среди которого встречается время в формате '12:59'. Получите из этой строки массив, содержащий время, в котором часы и минуты состоят из тех же цифр. Например, мы берем и время '12:12', и время '12:21'.
Задача 115
Список дат без выходных

Дана дата в формате '31.12.2025'. Напишите скрипт, который выведет список дней от заданной даты на N дней вперед, прибавляя по одному дню, но не включая в этот список выходные дни.
Задача 116
Позиция знака препинания

Дана строка. Найдите позицию третьего знака препинания.
Задача 117
Отнимание от даты

Дана дата в формате '2025-12-31'. Отнимите от нее 3 дня и выведите ее в таком же формате.
Задача 118
Корректность скобок

Дана строка со скобками, например, такая: '((2 * 3) + 1)'. Проверьте корректность расстановки скобок: количество открывающий должно быть равно количеству закрывающих: '(2 + 3))' - некорретно, их порядок должен быть правильным: ')(2 + 3))' - некорретно.
Задача 119
Центральная цифра

Дано число с нечетным количеством цифр. Получите центральную цифру из этого числа.
Задача 120
Сменить регистр

Дана строка. Смените регистр всех букв в ней.
Задача 121
Последний сегмент пути к папке

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Получите последний сегмент пути. В нашем случае это будет '/ccc/'.
Задача 122
Замена сегмента пути

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Поменяйте заданный сегмент пути на новое значение. К примеру, поменяем второй сегмент пути: '/aaa/+++/ccc/'
Задача 123
Увеличение сегмента пути

Дан некоторый путь к папке, содержащий числа '/1/2/3/'. Увеличьте заданный сегмент пути на единицу. К примеру, увеличим второй сегмент пути: '/1/3/3/'
Задача 124
Получение имени файла

Дан некоторый путь, ведущий к папке '/aaa/bbb/ccc/' или к файлу '/aaa/bbb/ccc.html'. Получите из пути имя файла с его расширением, если это возможно.