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

Замена слов

25.05.2014, 01:00. Показов 1091. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача такова: Есть предложение, например: Это какое-то предложение, в котором есть слово1, слово2, слово3.
Необходимо, чтобы одновременно слово1 заменялось на слово4, слово5 или слово6 (на одно из этих значений - случайным образом), слово2 - на слово7, слово8 или слово9 и т.д.

Подскажите, пожайлуста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2014, 01:00
Ответы с готовыми решениями:

Замена слов
Допустим есть слово "hello" и текст world world world hello world world <a href="http://test.ru/dfsgsdf">hello</a> world world world...

замена слов
есть текст FastTemplate - это набор классов, позволяющих реализовать работу с шаблонами. Как сделать замену текста от слова до слова...

Замена слов на другие из бд
Допустим из бд выводится категории товаров: pc phone Нужно сделать так чтобы стандартные названия заменялись на: ...

11
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
25.05.2014, 02:43
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$f = "слово0 слово1 слово2 слово3 слово4 слово5 слово6 слово7 слово8 слово9";
$a = explode(' ',$f);
 
foreach($a as $k=>$v){
 $p = rand(0,2)+(($k*3) +3);
 if($p>(count($a)-1)){
  $p = $p % count($a);
 }
 $a[$k] = $a[$p];
}
 
$a = implode(' ',$a);
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 38
25.05.2014, 05:30  [ТС]
Возможно, вы не так поняли задачу. В предложении не все слова должны меняться, а определенные..Если предложение - Я иду в магазин, то меняются только иду на бегу, пойду и т.д и магазин на палатку и т.д
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
25.05.2014, 14:40
либо вы растянули условие на две темы, и начала я не видел,
либо вам стоит превести более точное описание задания,

Добавлено через 22 минуты
приведите образец предложения,
и список переопределяемых слов.
за одно полное описание задачи не помешает, дословное,
а то все экстрасенсы по остравам разъехались, а там связи нет.
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 38
25.05.2014, 16:02  [ТС]
Прошу прощения, если непонятно расписал задание.
Предложение: Фильм скала был снят культовым режиссером девидом ....
Нужно, чтобы одновременно менялось название фильма скала на одно из слов побег, механик или шторм; слово культовым менялось на знаменитым, известным, популярным и менялось имя майклом, стивеном или брайяном.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.05.2014, 16:11
Лучший ответ Сообщение было отмечено benny как решение

Решение

Цитата Сообщение от benny Посмотреть сообщение
Прошу прощения, если непонятно расписал задание.
Предложение: Фильм скала был снят культовым режиссером девидом ....
Нужно, чтобы одновременно менялось название фильма скала на одно из слов побег, механик или шторм; слово культовым менялось на знаменитым, известным, популярным и менялось имя майклом, стивеном или брайяном.
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$str = "Фильм скала был снят культовым режиссером девидом.";
echo $str."<br/>\r\n";
$replace["скала"] = array("побег", "механик", "шторм");
$replace["культовым"] = array("знаменитым", "известным");
$replace["девидом"] = array("майклом", "стивеном", "брайяном");
foreach ($replace as $k => $v)
    $str = preg_replace("/$k/", $v[rand(0,count($v)-1)], $str);
echo $str."<br/>\r\n";
?>
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
25.05.2014, 16:45
Лучший ответ Сообщение было отмечено benny как решение

Решение

ну у скалы режисер Майкл Бэй,
а девид скорее автор.
вам нужно составить верные зависимости между фильмами, авторами или режисерами и желаемыми эпититами.
например:
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
$films=array(
1=>'фильм первый',
2=>'фильм второй',
3=>'фильм третий',
4=>'фильм четвертый',
);
$autors = array(
'f1'=>'автор фильма 1',
'f2'=>'автор фильма 2',
'f3'=>'автор фильма 3',
'f4'=>'автор фильма 4',
);
$directed_by= array(
'f1'=>'режисер фильма 1',
'f2'=>'режисер фильма 2',
'f3'=>'режисер фильма 3',
'f4'=>'режисер фильма 4',
);
// знаменитым, известным, популярным
$epithet = array(
'знаменитым',
'известным',
'популярным',
);
 
foreach($films as $k=>$v){
 echo '<br/> Фильм' . $v 
. ' созданный ' . $epithet[rand(0,(count($epithet)-1)] .' автором:'. $autors['f'.$k] .  
' был снят ' . $epithet[rand(0,(count($epithet)-1)] .' режисером: '.$directed_by['f'.$k].' '
}
вам нужно определиться какой фильм кто снял и кто автор а кто режисер,
если вы будете на угад подставлять данные, зрители вас не поймут
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 38
27.05.2014, 01:33  [ТС]
pav1uxa, спасибо, все работает) Только регулярные еще не изучали...

Nick007, выдает ошибки..что-то не вышло поправить...
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
27.05.2014, 02:28
Лучший ответ Сообщение было отмечено benny как решение

Решение

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
<?php
$films=array(
1=>'фильм первый',
2=>'фильм второй',
3=>'фильм третий',
4=>'фильм четвертый',
);
$autors = array(
'f1'=>'автор фильма 1',
'f2'=>'автор фильма 2',
'f3'=>'автор фильма 3',
'f4'=>'автор фильма 4',
);
$directed_by= array(
'f1'=>'режисер фильма 1',
'f2'=>'режисер фильма 2',
'f3'=>'режисер фильма 3',
'f4'=>'режисер фильма 4',
);
// знаменитым, известным, популярным
$epithet = array(
'знаменитым',
'известным',
'популярным',
);
 
foreach($films as $k=>$v){
 echo '<br/> Фильм' . $v
. ' созданный ' . $epithet[rand(0,(count($epithet)-1))] .' автором: '. $autors['f'.$k] .
' был снят ' . $epithet[rand(0,(count($epithet)-1))] .' режисером: '.$directed_by['f'.$k].' ';
}
?>
немного со скобками напутал
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 38
27.05.2014, 02:51  [ТС]
Nick007, да, все работает. Спасибо большое
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
27.05.2014, 07:05
Цитата Сообщение от benny Посмотреть сообщение
Только регулярные еще не изучали...
Тут их и нет почти)) заменяется preg_replace на str_replace, убираются 2 символа / и все.
0
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 38
28.05.2014, 02:51  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Тут их и нет почти)) заменяется preg_replace на str_replace, убираются 2 символа / и все.
спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2014, 02:51
Помогаю со студенческими работами здесь

Замена слов на другие
Задача заключается в следующем. Например, мне дан текст: Год: 2015 Серия: 2 Марка: 526 Как можно сделать, чтобы программа...

Рандомная замена слов
&lt;?php $text = $_POST; $patterns = array(); $replacements = array(); $patterns = '/Собака/'; $replacements = 'Песик'; echo...

замена слов в цыкле
добрый день Есть простая замена слов в цыкле но возникла проблема при замене заменяет оно к примеру &quot;столешница&quot; на...

Замена слов через CSS
Здравствуйте! Подскажите, возможно ли через CSS провести русификацию сайта mishastik.com? То есть заменить слова &quot;Written by&quot; и...

Замена слов в htm файле
Здраствуйте! Есть задача. Имеем сохраненую страницу htm. В папке хранятся фотки, которые нужно переименовать и заменить ссылки на них в htm...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru