我有一个与 php 文件 (action.php) 通信的 HTML 表单 (form.html)。来自表单的输入将 li 元素添加到单独的静态 HTML 文件 (content.html) 的顶部。但是,我还想删除 content.html 中的最后一个 li 元素。似乎有比正则表达式更好、更可靠的方法,所以我一直在尝试 DOM 解析。有没有办法使用 PHP 和 DOM 删除 content.html 中的最后一个 li 元素?
HTML (form.html):
<form action="action.php" method="post">
Year: <input type="text" name="year" size="3" /><br />
URL: <input type="text" name="url" size="3" /><br />
Description: <input type="text" name="description" size="3" /><br />
<input type="submit" name="preview" value="Preview" />
<input type="submit" name="update" value="Update" />
</form>
PHP(动作.php):
else if ($_POST['update']) {
$item = <<<MYTAG
<li><h2><a href="$url">$year</a></h2><span class="desctext">$description</span></li>
MYTAG;
$doc = new DOMDocument;
$doc->load('content.html');
$file = $doc->documentElement;
$removethis = $file->getElementsByTagName("li")->item(0);
$old = $file->removeChild($removethis);
echo $doc->saveXML();
$file_data = "$item\n";
$file_data .= file_get_contents('file.html');
file_put_contents('file.html', $file_data);
}