Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
2 / 2 / 2
Регистрация: 21.10.2014
Сообщений: 100
1

Реверс текста

15.01.2021, 09:10. Просмотров 200. Ответов 2
Метки нет (Все метки)

Как можно перевернуть слова в тексте, чтобы из "Дима! Как Дела?" выводило "Амид! Как Алед?"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2021, 09:10
Ответы с готовыми решениями:

Реверс сортировки без учета цифр
Есть массив данных => Games Flash => Games Action => Games Shooter Делаю реверс...

Реверс-инжиниринг сессионного токена
Кто сможет прояснить, объяснить, что может быть зашито в этом токене (для примера приведены...

Реверс K-M
Реверс массива – это перестановка элементов в обратном порядке: меняются местами первый и последний...

Реверс массива
Помогите пожалуйста Задание: Расположить элементы массива a в обратном порядке. Инициализация...

2
1015 / 699 / 337
Регистрация: 09.07.2018
Сообщений: 1,665
15.01.2021, 09:20 2
ArturKaktus, разбить предложение на слова по пробелу, потом выделить во временную переменную знаки пунктуации для каждого слова отдельно, далее - в отдельно полученных словах поменять направление текста, проверить регистр последней буквы, и если она прописная, то преобразовать её в строчную, а первую букву этого же слова преобразовать в прописную. После всего этого расставить назад знаки пунктуации, и преобразовать массив в строку.
2
1015 / 699 / 337
Регистрация: 09.07.2018
Сообщений: 1,665
15.01.2021, 19:58 3
ArturKaktus, как-то так:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
$str = 'Дима! Как твои... Дела?';
 
echo $str, '<br>', stringReverse($str);
// Дима! Как твои... Дела?
// Амид! Как иовт... Алед?
 
 
function stringReverse(string $str, string $results = ''): string
{
    foreach (explode(' ', $str) as $wordAndChar) {
        if (preg_match('~^(\pL+)(\pP*)$~u', $wordAndChar, $matches)) {
            $letters = preg_split('~~u', $matches[1], null, PREG_SPLIT_NO_EMPTY);
            $char = $matches[2];
            if (isItUpperCase($letters[0])) {
                $firstLetter = array_shift($letters);
                $lastLetter = array_pop($letters);
                $lettersInReverse = array_reverse($letters);
                array_push($lettersInReverse, $firstLetter, $char);
                $lettersInReverse = mb_strtolower(join($lettersInReverse), 'utf-8');
                $results .= mb_strtoupper($lastLetter, 'utf-8') . $lettersInReverse . ' ';
            } else {
                $lettersInReverse = array_reverse($letters);
                array_push($lettersInReverse, $char);
                $results .= join($lettersInReverse) . ' ';
            }
        }
    }
    return $results;
}
 
function isItUpperCase(string $str): bool
{
    $chr = mb_substr($str, 0, 1, 'utf-8');
    return (mb_strtolower($chr, 'utf-8') !== $chr ? true : false);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2021, 19:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реверс строки
Здравствуйте. В библиотеку обработки строк С++ и в Lua включены функции реверса строки. Вопрос...

Бит реверс
Вводится число в десятичной системе надо записать его в двоичной и перевернуть. Полученое число...

Реверс массива
...

Реверс массива
Задание такое: Нужно сделать массив из 30 чисел, чтобы он отображался на экране наоборот и по 3...

Реверс строки
Нужно слегка усложнить программу.Ввести с клавиатуры значения 3-х символов и вывести их в другом...

Программа реверс
Написать программу которая копирует данные из одного файла в другой, но уже в обратном порядке....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.