Metotron
Искусственный Интеллект
(114872)
5 лет назад
Разбить текст на слова, при условии, что между ними всего один пробел, можно с помощью explode(' ', $text). Правда, это если текст без переносов, а то сперва бы ещё сделать $text = str_replace("\n", ' ', $text). Впрочем, повторяющиеся пробелы тоже можно убрать $text = preg_replace('#[ ]+#', ' ', $text). В массиве каждый третий элемент меняешь, потом делаешь обратно implode(' ', $array). Вот только заменённые переносы строк уже не вернутся.
С каждй третьей буквой сложнее, потому что тут зависит от того, что понимается под цветом. Нужно в консоль вывести цветной текст? Или html-разметку с цветами сделать? В людбом случае, найти 3-й символ слова можно с помощью например mb_substr().
Количество букв "о" можно посчитать например так: mb_strlen(preg_replace('#[^о] #u', '', $text), 'UTF-8'). Аналогично с заглавной "О".
Скорее всего легкая задачка, но в PHP просто 0. Буду очень благодарен, если поможете