0

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);

    }
4

0 に答える 0