Заміна розділу 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
додано
Отже, як щодо наполегливості? Я вважаю, що ви використовуєте базу даних? Чому ви повторюєте інформацію в текстовій області , щоб розмістити та зберегти її?
додано Автор kasimir, джерело
Я намагаюся створити систему управління контентом. До цих пір я мій сайт копіювати інформацію в тегах і луна його в textArea. Потім я надсилаю це на сторінку PHP, яка замінює інформаційну область новою інформацією. Я відчуваю, що я міг би винаходити колесо, але це має сенс у моїй голові.
додано Автор DaBritishyankee, джерело
Це через пару місяців, і я тільки що перевірив на цю посаду. Після багато роботи я, нарешті, отримав цю роботу завдяки Fy-; однак з того часу я зробив інший сайт і замість нього використав базу даних MYSQL. ТАКОГО ЛІДШЕ! Я створював абсолютно новий файл для кожної динамічної сторінки, замінюючи текст в шаблоні (я запитую себе, чому зараз), але MYSQL значно полегшує це. Ну добре, все відпрацювало добре наприкінці. Урок вивчений.
додано Автор DaBritishyankee, джерело
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php