0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 23

Не работает замена слов

08.01.2021, 16:22. Показов 1213. Ответов 3

Студворк — интернет-сервис помощи студентам
В общем такая проблема, есть такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<? 
    $a=0;
    $string = $Elem['information'];
    $a = substr_count($string, '<p class="subtitle">'); //узнаем кол-ва совпадений
    $Search = array('<p class="subtitle">','</p>'); //то что будем заменять
    do{
    $a--;
    $Repls   = array('<Text class="subtitle"><a name="'.$a.'">','</a></text>'); //на что меняем
    $text    = $Elem['information'];
    $output  = preg_replace($Search, $Repls, $text,1);//функция замены с лимитом в 1 замену за цикл
        }while($a>0);
    
    echo $output; ?>
По моей логике он должен заменять, то что находится в $Search из массива $text, командой preg_replace с лимитом 1 раз, и спустя цикл заменить значение $a в $Repls и опять прогнать и так до окончания цикла, но почему то сначала он менял все, игнорируя цикл и ставя последнее значение $a(=0),а потом и вовсе стал обновлять только первое вхождение строки.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2021, 16:22
Ответы с готовыми решениями:

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

Некорректно работает замена слов в файле
#include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include &lt;stdlib.h&gt; #include &lt;io.h&gt; #include...

Составление списка всех слов текста и замена слов на число, обозначающее номер этого слова в списке
Помогите написать программу. Формат входных данных: В единственной строке входных данных приводится строка длиной не более миллиона...

3
Невнимательный
 Аватар для ft4l
3118 / 1302 / 359
Регистрация: 08.02.2013
Сообщений: 7,625
Записей в блоге: 2
08.01.2021, 17:12
Лучший ответ Сообщение было отмечено Strekach как решение

Решение

Можно как-то проще попробовать ... кучу текста обернуть в <a></a>
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat <<\x | /c/srv/usr/php74/php
 
<?php
$txt =' Text ...
<p class="subtitle"> text2 </p>
 <p class="subtitle"> text3 </p>
text
 <p class="subtitle"> text5 </p>
';
$txt = preg_replace_callback('#<p class="subtitle">(.*?)</p>#s', function($m){
  static $i=0;
  return '<Text class="subtitle"><a name="'.++$i.'">'. $m[1] .'</a></text>';
  }, $txt);
echo $txt;
x
 
 Text ...
<Text class="subtitle"><a name="1"> text2 </a></text>
 <Text class="subtitle"><a name="2"> text3 </a></text>
text
 <Text class="subtitle"><a name="3"> text5 </a></text>
... если не будет вложеных <p></p>
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 23
08.01.2021, 18:10  [ТС]
Спасибо! Действеный способ, чутка переделал, под свой код, все заработало, даже получилось лучше чем чем я хотел!
Единственое я не понял что означает Cat.... буду благодарен, если обясните
0
Невнимательный
 Аватар для ft4l
3118 / 1302 / 359
Регистрация: 08.02.2013
Сообщений: 7,625
Записей в блоге: 2
08.01.2021, 19:09
Цитата Сообщение от Strekach Посмотреть сообщение
Cat....
Bash
1
2
3
4
5
6
7
zzz@zz MINGW32 ~
$ cat --help
Использование: cat [ПАРАМЕТР][ФАЙЛ]…
Печатает слияние ФАЙЛ(ов) на стандартный вывод.
 
Если ФАЙЛ не задан или задан как -, читает стандартный ввод.
... всякие параметры
<<\x
....
x
типа heredoc но не heredoc а nowdoc ))
... как в php
PHP
1
2
3
$var = <<<'xxx' 
любой текст с любыми кавычками
xxx; # nowdoc потому что xxx в апострофах
В итоге как-бы вывод на STDOT встраиваемого в команду содержимого файла передаёётся "по конвееру" |
на STDIN интерпретатора c:/srv/usr/php74/php.exe
который выводит echo $txt;

Не по теме:


но у меня вин7 в данный момент , а там в консоли не знаю как не создавая файл вывести многострочный например php-код
... поэтому использовал консоль lk MINGW32 от MSYS2 ) в линуксах вроде всё так-же но php вместо /c/srv/usr/php74/php

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2021, 19:09
Помогаю со студенческими работами здесь

Замена букв в предложении. Не работает замена кириллицы
Суть программы заменить все определенные буквы в предложении на другую. Собственно, вот код. Латиницу заменяет как надо. Но если ввести...

замена слов
Помогите пожалуйста решить следующее задание! Заранее благодарен. Условие задания: ТЕКСТ, Слова, которые надо заменять и подстроку...

Замена слов
также как ассоциации не несет в себе большой смысловой нагрузки , правила простые 1. дается исходная фраза 2. нужно заменить одно...

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

Замена слов
Задача такова: Есть предложение, например: Это какое-то предложение, в котором есть слово1, слово2, слово3. Необходимо, чтобы...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru