Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 34

Написать программу по работе с произвольным текстом

05.11.2018, 22:31. Показов 3880. Ответов 10

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Помогите пожалуйста реализовать программу по работе с текстом

Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр, каждую третью букву всех слов сделать фиолетовой, подсчитать общее количество встречающихся в тексте букв "о" и "О".
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2018, 22:31
Ответы с готовыми решениями:

Формат ввода даты с произвольным текстом в конце
Приветствую всех, господа. Есть вопрос. Необходимость - хранить дату в поле в таком формате: dd.mm.yyyy г. И суть в том, что вот это вот...

Создать параграф с произвольным текстом по нажатию кнопки
Объясните, пожалуйста, в чём ошибка. По нажатию кнопки должен создаться параграф с произвольным текстом. После создания 10-и параграфов...

написать программу двумерный массив .Дана квадратная матрица порядка М, заполненная произвольным образом целы
написать программу двумерный массив .Дана квадратная матрица порядка М, заполненная произвольным образом целыми числами из диапазона от -8...

10
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
06.11.2018, 00:52
Лучший ответ Сообщение было отмечено Alexei Orlovski как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$str = 'Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр.';
 
foreach (explode(' ', $str) as $i => $word) {
    $chars = preg_split('~~u', $word, -1, 1);
    ! isset($chars[2]) ?: $chars[2] = "<span style='color:#800080;'>$chars[2]</span>";
    $word = join($chars);
    $tmp[] = ++$i % 3 ? $word : mb_strtoupper($word);
}
 
$str = join(' ', $tmp);
$all = preg_match_all('~о~iu', $str);
 
echo $all . '<br>'; // Количество Букв "О"  и "о"
echo $str;
1
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.11.2018, 00:56
Лучший ответ Сообщение было отмечено Alexei Orlovski как решение

Решение

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
$str = "Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр";
 
$arr = explode(" ", $str);
 
$new_arr = [];
$new_arr1 = [];
$new_arr2 = [];
$i = 0;
 
array_unshift($arr, "");
 
foreach($arr as $k => $v){
    if($i % 3 == 0){
        $v = mb_strtoupper($v);
        $new_arr[] = $v;
    }else{
        $new_arr[] = $v;
    }
    $i++;
}
 
foreach($new_arr as $k => $v){
    $v1 = preg_split('//u', $v, null, PREG_SPLIT_NO_EMPTY);
    if(isset($v1[2]))
        $v1[2] = preg_replace('~(.*+)~u', '<font color = "purple">\1</font>', $v1[2]);
    $v1 = implode("", $v1);
    $new_arr2[] = $v1;     
}
 
echo $str = implode(" ", $new_arr2);
echo '<br>Общее количество встречающихся в тексте букв "о" и "О": ' . preg_match_all('~о~iu', $str);
Если по какому-то недоразумению у Вас результат будет отображаться некорректно, то проверьте тут, ибо все работает.
1
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
06.11.2018, 01:00
Пифагор, у меня получился более компактный вариант
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.11.2018, 01:07
VNIIAEN, согласен
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 34
06.11.2018, 10:38  [ТС]
VNIIAEN, Пифагор, спасибо за ответ

Добавлено через 9 минут
VNIIAEN,

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
<html>
    <head>
        <meta charset="utf-8">
        <title>Zadanie3</title>
    </head>
<body>
        
    <?php
 
$str = 'Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр.';
 
foreach (explode(' ', $str) as $i => $word) {
    $chars = preg_split('~~u', $word, -1, 1);
    ! isset($chars[2]) ?: $chars[2] = "<span style='color:#800080;'>$chars[2]</span>";
    $word = join($chars);
    $tmp[] = ++$i % 3 ? $word : mb_strtoupper($word);
}
 
$str = join(' ', $tmp);
$all = preg_match_all('~о~iu', $str);
 
echo $all . '<br>'; // Количество Букв "О"  и "о"
echo $str;
    ?>
        
    </body>
</html>
Parse error: syntax error, unexpected ':' in on line 14
выдает ошибку в этой строке , не пойму вроде все верно написано
0
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
06.11.2018, 10:52
Alexei Orlovski, а php у вас какой версии? Тут можно потестировать скрипт (Кнопка "Execute code").

Добавлено через 3 минуты
Alexei Orlovski, попробуйте так, но не зная версии php вполне возможны ещё ошибки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$str = 'Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр.';
 
foreach (explode(' ', $str) as $i => $word) {
    $chars = preg_split('~~u', $word, -1, 1);
    ! isset($chars[2]) ? '' : $chars[2] = "<span style='color:#800080;'>$chars[2]</span>";
    $word = join($chars);
    $tmp[] = ++$i % 3 ? $word : mb_strtoupper($word);
}
 
$str = join(' ', $tmp);
$all = preg_match_all('~о~iu', $str);
 
echo $all . '<br>'; // Количество Букв "О"  и "о"
echo $str;
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 34
06.11.2018, 11:27  [ТС]
VNIIAEN, версия PHP/5.2.12

выдает ошибку:

Warning: preg_match_all() expects at least 3 parameters, 2 given
0
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
06.11.2018, 11:30
Лучший ответ Сообщение было отмечено Alexei Orlovski как решение

Решение

Alexei Orlovski, вы используете древнюю версию php - рекомендую обновиться. Код под вашу версию:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$str = 'Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр.';
 
foreach (explode(' ', $str) as $i => $word) {
    $chars = preg_split('~~u', $word, -1, 1);
    ! isset($chars[2]) ? '' : $chars[2] = "<span style='color:#800080;'>$chars[2]</span>";
    $word = join($chars);
    $tmp[] = ++$i % 3 ? $word : mb_strtoupper($word);
}
 
$str = join(' ', $tmp);
$all = preg_match_all('~о~iu', $str, $a);
 
echo $all . '<br>'; // Количество Букв "О"  и "о"
echo $str;
0
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 34
06.11.2018, 11:35  [ТС]
VNIIAEN,

Цитата Сообщение от VNIIAEN Посмотреть сообщение
$str = 'Дано условие, в произвольном тексте каждое третье слово перевести в верхний регистр.';
foreach (explode(' ', $str) as $i => $word) {
* * $chars = preg_split('~~u', $word, -1, 1);
* * ! isset($chars[2]) ? '' : $chars[2] = "<span style='color:#800080;'>$chars[2]</span>";
* * $word = join($chars);
* * $tmp[] = ++$i % 3 ? $word : mb_strtoupper($word);
}
$str = join(' ', $tmp);
$all = preg_match_all('~о~iu', $str, $a);
echo $all . '<br>'; // Количество Букв "О" *и "о"
echo $str;
А этот код на какой версии написан? и изначально на какой?
0
 Аватар для Строитель
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
06.11.2018, 11:41
Цитата Сообщение от Alexei Orlovski Посмотреть сообщение
А этот код на какой версии написан? и изначально на какой?
Последний вариант на пятой версии пхп должен запуститься. А самый первый мой вариант я писал на php 7, но он должен работать от 5.4.*. и выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2018, 11:41
Помогаю со студенческими работами здесь

Файлы. Создать текстовый файл с произвольным текстом и через меню предусмотреть действия
Помогите пожалуйста с решением задачи! Создать текстовый файл с произвольным текстом и через меню предусмотреть следующие действия: ...

Написать программу с цветным рекламным текстом
Написать программу с цветным рекламным текстом (реклама магазина или фирмы)(текст цветной, мигающий, бегущий, размещающийся в...

Что использовать, чтобы написать программу, которая будет отправлять сообщение в ВК с текстом
Что использовать, чтобы написать программу, которая будет отправлять сообщение в ВК с текстом , зависящим от события которое его...

Работа с текстом. Написать программу определяющую есть ли введенном слове повторяющиеся буквы
Напишите пожалуйста программный код к данной задачи Написать программу, определяющую, есть ли введенном слове повторяющиеся буквы.

Написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом
Помогите написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом; каждые 15 секунд в новом месте экрана.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru