Как добавить текст во внешний html-файл внутри определенного тега с помощью PHP?
Допустим, у меня есть внешняя html-страница, и я хочу добавить текст внутри определенного тега с моей страницы администратора php, например, поместить различный текст внутри этого тега span.
Например:
<html>
<body>
<span class="text"></span>
</body>
</html>
Как бы я сделал это с помощью PHP? Я пытаюсь создать страницу администратора для этого веб-сайта, и мне нужно добавить текст внутри определенных тегов. Я даже не знаю, с чего начать, пожалуйста, укажи мне правильное направление.
2 answers
Вы можете сделать это с помощью DOMDocument PHP, например:
// Load the HTML document
$doc = new DOMDocument;
$doc->loadHtmlFile( 'htmlpage.html');
// Get the parent node where you want the insertion to occur
$parent = $doc->getElementsByTagName('body')->item( 0);
// Create the child element
$child = $doc->createElement( 'span');
$child->setAttribute( 'class', 'text');
// Append (insert) the child to the parent node
$parent->appendChild( $child);
// Save the resulting HTML
echo $doc->saveHTML();
Итак, учитывая этот HTML:
<html>
<body>
</body>
</html>
Результирующий HTML-код будет:
<html>
<body>
<span class="text"></span>
</body>
</html>
(Игнорируя объявление DOCTYPE, которое добавляет DOMDocument, если его нет)
В зависимости от того, для чего именно вам это нужно, вы можете сделать это другим способом - создать эту цель.HTML-файл в.Вместо этого PHP-файл, который сам заполняет соответствующий контент, используя, скажем, функцию get_span_contents()
, например:
<html>
<body>
<span class="text">
<?PHP get_span_contents(); ?>
</span>
</body>
</html>
Одним из недостатков является то, что это будет сгенерировано для каждого запроса документа (потенциально, в зависимости от схем кэширования), тогда как если вы разделите его на два этапа (1. Выпишите HTML, 2. Подайте HTML отдельно), вы это было бы только одно поколение. В зависимости от того, насколько динамичен контент или насколько незначительны вычислительные затраты, это может не быть проблемой.