繁体   English   中英

使用 PHP 将 HTML 代码添加到现有 HTML 文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM