外部のhtmlページがあり、このスパンタグ内にその他のテキストを配置するなど、phpadminページの特定のタグ内にテキストを追加したいとします。
例えば:
<html>
<body>
<span class="text"></span>
</body>
</html>
PHPでそれをどのように行うのですか?このウェブサイトの管理ページを作成しようとしていますが、特定のタグ内にテキストを追加する必要があります。どこから始めたらいいのかわからないので、正しい方向に向けてください。
次のように、PHPのDOMDocumentを使用してこれを行うことができます。
// 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>
<body>
<span class="text"></span>
</body>
</html>
(DOMDocumentが存在しない場合に追加するDOCTYPE宣言を無視します)
これが正確に何のために必要かによっては、これを別の方法で行うことができる場合があります。代わりに、ターゲットの.HTMLファイルを.PHPファイルにし、たとえば、と呼ばれる関数を使用して適切なコンテンツ自体を入力しますget_span_contents()
。そのようです:
<html>
<body>
<span class="text">
<?PHP get_span_contents(); ?>
</span>
</body>
</html>
1つの欠点は、これがドキュメントのすべてのリクエストに対して生成されることです(場合によっては、キャッシュスキームによって異なります)が、ドキュメントを2つのステップ(1. HTMLを書き出す、2。HTMLを個別に提供する)に分割した場合は、一度世代をやっています。コンテンツがどれほど動的であるか、または計算コストがどれほど小さいかによっては、それは問題にならない可能性があります。