使用PHP / DOM删除“Nth”li元素?

时间:2012-09-14 13:34:18

标签: php parsing dom

我有一个与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(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);

    }

0 个答案:

没有答案