index.php に次のコード行があります。
<?php include ("header.php"); ?>
</body>
</html>
私のheader.php:
<!DOCTYPE html>
<html lang="en">
<head>
<?php include("php/dynamic_header.php"); ?>
<meta charset="utf-8">
<meta name="description" content="Write a description" />
<meta name="keywords" content="Your keywords here" />
<title>Random Title</title>
</head>
<body>
<header>This is my header</header>
そして私のdynamic_header.php:
$dom = new domDocument;
@$dom->loadHTMLFile("header.php");
$meta = $dom->getElementsByTagName('meta')->item(1);
$meta->setAttribute('content','new description');
$dom->saveHTML();
ただし、saveHTML() を使用しても何も起こりません。私は使用してみました:
echo $dom->saveHTML();
しかし、これは2つのヘッダーを生成するので、誰かが私が間違っていることを説明できますか? 基本的にPHP DOMでmetaタグの属性を変更しようとしているのですが、ヘッダーを複製しないと保存できません。