PHPファイル(action.php)と通信するHTMLフォーム(form.html)があります。フォームからの入力により、別の静的 HTML ファイル (content.html) の先頭に li 要素が追加されます。ただし、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 (action.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);
}