[英]Add HTML Code to existing HTML file using PHP
在我的 index.html 中有几个链接,看起来像这样
<div id="links">
<a class="link" href="download1.html" target="_blank">Download 1</a>
<a class="link" href="download2.html" target="_blank">Download 2</a>
<a class="link" href="download3.html" target="_blank">Download 3</a>
<a class="link" href="download4.html" target="_blank">Download 4</a>
</div>
我想要做的是,通过 PHP 向这个 div 添加新的链接。 我用 DOM 和 appendChild 尝试了一些东西,但它没有像我想要的那样工作。
<?php
$filename = $_GET['filename'];
$tabtitle = $_GET['tabtitle'];
$dom = new DOMDocument;
$dom = loadHTMLFile('index.html');
$node = "<a class="link" href="{$filename}.html" target="_blank">{$tabtitle}</a>";
$findelement = $dom->getElementById('links');
$dom->parentNode->appendChild($findelement, $node);
echo $dom->saveXML();?>
我已经能够通过 PHP 创建引用 HTML 文件,但我不想一直手动添加这些链接。
谢谢你的帮助!
正如评论中提到的,有一些小错误,当如下更正时,应该会产生我认为你正在尝试做的事情:
<?php
if( isset(
$_GET['filename'],
$_GET['tabtitle']
)){
$filename = $_GET['filename'];
$tabtitle = $_GET['tabtitle'];
$dom = new DOMDocument;
$dom->loadHTMLFile( __DIR__ . '/index.html' );
$div=$dom->getElementById('links');
$a=$dom->createElement('a',$tabtitle);
$a->setAttribute('class','link');
$a->setAttribute('href',$filename.'.html');
$a->setAttribute('target','_blank');
$div->appendChild($a);
echo $dom->saveHTML();
}
?>
保存index.html
文件(对我来说称为x-index.html
以避免与现有文件冲突)
<?php
if( isset(
$_GET['filename'],
$_GET['tabtitle']
)){
$filename = $_GET['filename'];
$tabtitle = $_GET['tabtitle'];
$dom = new DOMDocument;
$dom->loadHTMLFile( __DIR__ . '/x-index.html' );
$div=$dom->getElementById('links');
$a=$dom->createElement('a',$tabtitle);
$a->setAttribute('class','link');
$a->setAttribute('href',$filename.'.html');
$a->setAttribute('target','_blank');
$div->appendChild($a);
echo $dom->saveHTML(); //display
$dom->saveHTMLFile( __DIR__ . '/x-index.html' ); //save
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.