Замена раздела html на PHP

Я пытаюсь заменить раздел HTML-файла шаблона, который у меня есть, используя регулярные выражения в PHP. пока у меня это:

$docText = OLD_TEXT;
$text = NEW_TEXT;
$docText = preg_replace('#<div id="information">[<div>(?R)</div>]*</div>#i x U',
                         $text,
                         $docText,
                         1);

// Save file

В такие моменты он не делает никаких матчей. Цель состоит в том, чтобы он заменил весь внешний div, что означает, что ему нужно знать, что все остальные s не являются закрывающим тегом.

1
Первый вопрос в неделях, где он, по крайней мере, был бы уместным, но никто не ставит глупое звено. -Так, э-э. Должно ли это быть регулярным выражением? Или возможны более простые предложения? - В любом случае, ваш синтаксис для ? R , а затем включение его в качестве символьного класса является неправильным. Где вы это нашли?
добавлено автор mario, источник
можете ли вы отправить пример $ text?
добавлено автор Jaison Erick, источник
Упрощенные варианты в порядке. Сначала я попробовал DOMDocument, но после этого не работал, я решил попробовать работать непосредственно со строкой. Извините, если я должен был опубликовать ссылку. Это первый раз, когда я опубликовал в StackOverflow.
добавлено автор DaBritishyankee, источник

1 ответы

Я не уверен, что понимаю, чего вы хотите, но я думаю, вы пытаетесь это сделать:

$html = <<
            <div>Hi!</div>
        </div>
        <div id="otherInformation">Hi again!</div>
    </body>
</html>
HTML;

$replace = '<div id="newInformation">Bye!</div>';

$dom    = new DOMDocument();
$dom->loadHTML($html);

$tmp     = $dom->createTextNode('{newContent}');

$xpath   = new DOMXPath($dom);

$divInformation = $xpath->query('//div[@id="information"]');
$divInformation->item(0)->parentNode->replaceChild($tmp, $divInformation->item(0));

$newHTML = str_replace('{newContent}', $replace, $dom->saveHTML());
var_dump($newHTML);

Can I ask why?

2
добавлено
Итак, как насчет настойчивости? Полагаю, вы используете базу данных? Именно поэтому вы эхо-материал в textarea , чтобы отправлять и хранить его?
добавлено автор kasimir, источник
Я пытаюсь создать систему управления контентом. До сих пор у меня есть сайт, который копирует информацию в теги и выводит ее в textArea. Затем я отправляю это на страницу PHP, которая заменяет информационную область новой информацией. Я чувствую, что могу изобретать колесо, но это имеет смысл в моей голове.
добавлено автор DaBritishyankee, источник
Это через пару месяцев, и я только что вернулся на этот пост. После много работы я наконец получил это, чтобы работать благодаря Fy-; однако с тех пор я сделал еще один сайт, и вместо этого я использовал базу данных MYSQL. ТАК МНОГО ЕЩЕ! Я создавал совершенно новый файл для каждой динамической страницы, заменяя некоторый текст в шаблоне (я спрашиваю себя, почему сейчас), но MYSQL упрощает это. Ну, хорошо, в итоге все получилось хорошо. Урок выучен.
добавлено автор DaBritishyankee, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing