Строки в PHP
перейти к содержанию задачника
Простейшие действия со строками
- Дана строка. Если она начинается на ‘abc’, то заменить их на ‘www’, иначе добавить в конец строки ‘zzz’.
- Дана строка. Если ее длина больше 10, то оставить в строке только первые 6 символов, иначе дополнить строку символами ‘o’ до длины 12.
- В данной строке найти количество цифр.
- Замените в строке все вхождения ‘word’ на ‘letter’.
- Удалите в строке все буквы ‘x’, за которыми следует ‘abc’.
- Найдите количество вхождения ‘aba’ в строку.
- Дана строка, состоящая из слов, разделенных символами, которые перечислены во второй строке. Показать все слова.
- Дана строка. Преобразовать все символы кроме первого в нижний регистр.
Применение строк в PHP
- Пользователь вводит названия городов через пробел. Переставьте названия так, чтобы названия были упорядочены по алфавиту.
- В строке хранится дата и время в формате Дата-Месяц-Год Час:Мин:Сек (например, 12-02-2015 22:37:01). Определите содержит ли строка данные в необходимом формате и корректны ли данные.
- Дана строка, содержащая полное имя файла (например, ‘D:\WebServers\home\testsite\www\myfile.txt’). Выделите из этой строки имя файла без расширения
- Пользователь вводит email. Осуществить проверку на корректность (длина больше восьми, присутствует символ @, после которого присутствует символ ‘.’, между этими двумя символами есть хотя бы две буквы, оканчивается на ‘ru’, ‘com’, ‘net’ или ‘by’, символ ‘_’ может встречаться только один раз, до символа @ могут быть только цифры, буквы и символ ‘_’).
- Написать конвертер строки. Возможности: перевод всех символов в верхний регистр, перевод всех символов в нижний регистр, перевод всех символов в нижний регистр и первых символов слов в верхний регистр, инвертирование регистра, случайный регистр для каждого символа.
- Исключить из строки группы символов, расположенные между символами «/*», «*/» включая границы . Предполагается, что нет вложенных скобок.
- Определить является ли введенный текст записью целого числа, записью вещественного числа.
- Создать функцию по преобразованию нотаций: строка вида ‘this_is_string’ преобразуется в ‘thisIsString’ (так называемая CamelCase-нотация)
- Удалить в строке все «лишние» пробелы, то есть из нескольких подряд идущих пробелов оставить только один.
- Пользователь вводит цвет. Получает ближайший к данному безопасный цвет.
- Дан список слов. Заменить в заданной строке все слова из списка на серию из ‘*’.
- Дан текст. Заменить все email в этом тексте на ‘[email]’. Например, ‘пишите мне на itmathrepetitor@gmail.ru по любому вопросу’ преобразуется в ‘пишите мне на [email] по любому вопросу’.
- Дан текст. Разбить его на строки (длина строк дана) так, чтобы разделение строк произошло на пробельном символе (если это невозможно, показать сообщение об ошибке) и строка равномерное дополнилась пробелами до необходимой длины.
- Пользователь вводит пароль. Определите уровень сложности пароля (разработать алгоритм определения сложности по 10 балльной шкале).
- Дано два текста. Определите степень совпадения текстов (разработать алгоритм определения соответствия по 5 балльной шкале).
- Дан список запрещенных сайтов. Заменить в данной строке все ссылки, ведущие на страницы запрещенных сайтов, на символы #.
- В двух строках содержатся даты вида День-Месяц-Год (например, 10-02-2015). Определите количество дней между датами.
- Дан текст, состоящий из предложений. Найти все предложения, содержащие данную строку.
- Дан текст. Определите тошноту текста и естественность текста (закон Ципфа). Предложите свой алгоритм определения степени естественности текста.
- Создать функцию, которая генерирует русский псевдотекст (аналог http://ru.lipsum.com/ ), то есть текст, слова которого похожи на русские (или действительно русские), но по большей части являются бессмысленными сочетаниями и предложениями. При этом в предложениях образуются правильные сочетания существительных, глаголов, предлогов и так далее.
- Дан текст css-файла. Предоставить пользователю список всех цветов из этого файла. Далее пользователь указывает какой цвет заменить на новый.
- Дан текст. Создать функцию, которая преобразует его к стандартному виду (требования по ссылке http://www.artlebedev.ru/kovodstvo/sections/62/ )
- Дан список отзывов о товарах. Разработать алгоритм, который определяет положительный ли отзыв или отрицательный. Это сложная исследовательская задача. Достаточно реализовать простейшие идеи и получить алгоритм, который удовлетворительно работает на простых с точки зрения конструкций русского языка отзывах. В идеале стоит изучить готовые решения, вспомогательные библиотеки и классические алгоритмы и структуры данных.
@ www.itmathrepetitor.ru