Пользовательский тег в HTML и парсер с php
У меня проблема и мне нужна твоя помощь. я хочу использовать свой собственный тег в коде моего скрипта, например [tag], и проанализировать весь HTML-код, затем проанализировать коды и заменить эти теги на php-код или мой выводной мир и повторить мой вывод.
простой код:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>[MY_PAGE_TITLE]</title>
</head>
<header></header>
<div class="left">[MY_WEBSITE_LEFT_SIDEBAR_INFORMATION]</div>
<article>[MY_WEBSITE_ARTICLE]</article>
<div class="right">[MY_WEBSITE_RIGHT_SIDEBAR_INFORMATION]</div>
<footer></footer>
<body>
</body>
</html>
мой первый тег [MY_PAGE_TITLE] должен быть заменен одним миром, таким как "мой сайт", я хочу использовать это для моего языкового сайта. я получаю это слово из массива, как:
mylangarray [
MY_PAGE_TITLE="my website"
]
но для любого другого тега я хочу загрузить модуль слева или справа или загрузить статью из моей БД
Как я могу это сделать?
1 ответ
Я решил свою проблему Если у вас есть эта проблема, вы можете использовать этот метод.
шаг1: вы определяете свой пользовательский тег в файле основного вида, а затем на стороне сервера с помощью функции PHP ob_start запускаете буфер вывода, затем требуете или require_once или включаете или включаете ваш файл. Теперь с помощью определения переменной и функции ob_get_contents в PHP сохраните весь код файла в переменной. как это:
$html = ob_get_contents();
теперь у вас есть все представления файла в переменной.
Вы можете очистить свой буфер с помощью функции ob_end_clean.
пример:
ob_start();
require_once 'mainViewFile.php';
$html = ob_get_contents();
ob_end_clean();
шаг 2: вы можете использовать функцию str_replace для замены вашего пользовательского тега новыми данными.
$leftSideBarInformation = 'We stored left bar information in this variable!';
$html = str_replace('[MY_WEBSITE_LEFT_SIDEBAR_INFORMATION]', $leftSideBarInformation, $html);
если у вас есть массив пользовательских тегов, вы можете использовать цикл foreach.