Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155

Добавить модуль после определенного тега

22.12.2017, 16:50. Показов 1575. Ответов 10

Студворк — интернет-сервис помощи студентам
Нашел вот такой код. Он вставляет <div></div> после заданного мною количества абзацев.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?PHP
function addContent($addTo, $add, $cntRep, $after = '</p>', $openTag = '<div align="center">', $closeTag = '</div>')
    {
       $posAfter = 0;
       for ($i=0; $i < $cntRep; $i++) {
           $pos = stripos($addTo, $after, $posAfter);
           $posAfter = $pos+strlen($after);
           if($pos===FALSE) {
              return $addTo;
           }
       }
       $beforeAdding = substr($addTo, 0, $posAfter);
       $afterAdding = substr($addTo, $posAfter);
       $result = $beforeAdding . $openTag . $add . $closeTag . $afterAdding;
       return $result;
    }
$this->item->fulltext = addContent($this->item->fulltext,'<div>любой код</div>',5);
echo $this->item->fulltext;
?>
В моем случае хочу добавить модуль 1, после каждого H2 и модуль 2, после каждого Н3 встречающегося в $this->item->fulltext. Как это сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2017, 16:50
Ответы с готовыми решениями:

Как добавить элемент до и после тега?
Всем привет. Вот есть HTML: &lt;form name=&quot;formname&quot; action=&quot;index.php&quot; id=&quot;formid&quot;&gt; &lt;table class=&quot;someclass&quot; id=&quot;tableid&quot;&gt; ...

Добавить тэг после определенного тэга
Добрый день. Имеется xml файл. Необходимо вставить вот такой кусок после определенного тега. &lt;group name=&quot;depart&quot;&gt; ...

Добавить текст в текстовое поле после определенного слова
Всем привет! В текстовом поле есть некий текст. Как после определенного слова добавить туда еще текст? например есть текст: Мама мыла...

10
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
22.12.2017, 18:11
PHP
1
2
3
4
$e = explode("</h3>",$this->item->fulltext);
if (count($e)>1) { // если нашёлся h3
$this->item->fulltext = implode("</h3>{loadmodule custom,Schema Organization DE}",$e);
}
0
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155
22.12.2017, 19:44  [ТС]
Спасибо за вариант. И все же, выводит текст в нужных местах, но не модуль.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$h2 = explode("</h2>",$this->item->fulltext);
if (count($h2)>1) { // если нашёлся h2
$this->item->fulltext = implode("</h2>{loadmodule custom,Schema Organization DE}",$h2);
}          
          
$h3 = explode("</h3>",$this->item->fulltext);
if (count($h3)>1) { // если нашёлся h3
$this->item->fulltext = implode("</h3>{loadmodule custom,Schema Organization DE}",$h3);
}
 
echo $this->item->fulltext;
?>
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
22.12.2017, 20:09
если сделаете поиск по движку жумла, по слову
Code
1
{loadmodule
можно попробовать найти код, который заменяет текстовую вставку
0
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155
22.12.2017, 20:14  [ТС]
в других местах шаблона у меня стоит

PHP
1
<?php echo $renderer->render('moduleitemend', $options, null); ?>
этот код создает позицию под модуль, которой в дальнейшем могу управлять.

Но, как я понимаю, эту строку нужно писать как код, в примере с implode, строка пишется как обычный текст.
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
22.12.2017, 21:06
https://stackoverflow.com/ques... her-module - здесь пишут о возможных двух вариантах:

Code
1
{loadposition myPosition}
или
Code
1
{loadmodule myModuleTypesName}
1
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155
22.12.2017, 21:07  [ТС]
эти варианты используются при редактировании статьи через админку.
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
22.12.2017, 21:08
Цитата Сообщение от kilnart Посмотреть сообщение
в примере с implode, строка пишется как обычный текст
PHP
1
implode("</h3>".$renderer->render('moduleitemend', $options, null),$h3)
0
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155
22.12.2017, 21:09  [ТС]
такой вариант ошибку выдает.
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
23.12.2017, 11:19
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
<?php
jimport('joomla.application.module.helper');
$h2 = explode("</h2>",$this->item->fulltext);
while (count($h2)>1) { // если нашёлся h2
$a=array_shift($h2);
$module = getModuleById(123); // the ID of the module (123) we can see in the backend: Extensions - Modules
$module->params = "param1=john\n\rparam2=doe"; // delimited by "\n\r"
$html=JModuleHelper::renderModule($module);
reset($h2);
$h2[key($h2)]=$a."</h2>".$html.$h2[key($h2)];
}
$this->item->fulltext = reset($h2);
 
$h2 = explode("</h3>",$this->item->fulltext);
while (count($h2)>1) { // если нашёлся h2
$a=array_shift($h2);
$module = getModuleById(123); // the ID of the module (123) we can see in the backend: Extensions - Modules
$module->params = "param1=john\n\rparam2=doe"; // delimited by "\n\r"
$html=JModuleHelper::renderModule($module);
reset($h2);
$h2[key($h2)]=$a."</h3>".$html.$h2[key($h2)];
}
$this->item->fulltext = reset($h2);
 
echo $this->item->fulltext;
?>
0
4 / 4 / 3
Регистрация: 31.07.2011
Сообщений: 155
23.12.2017, 16:11  [ТС]
ругается на getModuleById (прописал свой id) 0 - Call to undefined function getModuleById()



Добавлено через 1 час 19 минут
Пока остановился на этом варианте. Участвует H2, H3 решил пока не трогать.


PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
          
$ads=' код рекламы ';
          
$h2 = explode("</h2>",$this->item->fulltext);
if (count($h2)>1) { // если нашёлся h2
$this->item->fulltext=preg_replace('#<h2(.*?)</h2>#','<h2\1</h2><div class="adv">'.$ads.'</div>',$this->item->fulltext);
}          
 
echo $this->item->fulltext;
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2017, 16:11
Помогаю со студенческими работами здесь

Добавить текст в текстовое поле после определенного символа
Всем привет! Есть 2 текстовых поля. одно из них уже с текстом. В другое текстовое поле начинаем вводить некий текст и он тут же...

Как добавить в Memo1 текст из Edit1 после определенного слова?
Здравствуйте, дорогие форумчане. Подскажите пожалуйста, как мне осуществить вставку в текста в мемо1 в определенном месте(в мемо уже есть...

Добавить после каждого отрицательного элемента его модуль
С помощью векторов.

Массив: Добавить после каждого отрицательного элемента его модуль...
1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. 2. Выполнить указанное в варианте...

Удалить содержимое определенного тега
Приветствую всех! Что то курение Лутца с Бизли мне на пользу не пошло...:cry: В общем проблема такая: Есть файл примерно такого...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru