我想知道如何使用 PHP 操作 DOM 树?
我已经看到一些关于加载到 html 文件中的 XML DOM 的答案。但是如果我不需要加载呢?如果我想要操作的文档中有 XML DOM 脚本怎么办?
我在下面有一个打印出所有文件夹的示例。填空你的答案。我想用文件夹的名称作为文本节点创建 div 元素。答案需要一些 XML DOM 脚本,因为我将在我的网站中创建比一个 div 元素更多的元素。并且使用例如 echo 是不切实际的,因为您可能会在错误的元素中插入一个元素等。
$sql = "
SELECT name
FROM folders
WHERE profileId = '$profileId'
";
$result = mysql_query($sql) or die('Error6: '.mysql_error());
while($row = mysql_fetch_array($result)) {
}
Run Code Online (Sandbox Code Playgroud)
您不需要 PHP 来操作您已经生成的文档的 dom。让 PHP 直接生成一些 HTML 要容易得多。DOM 用于剖析/更改在别处生成的 HTML。换句话说,您的脚本将是:
while($row = mysql_fetch_array($result)) {
echo "<div>{$row['name']}</div>";
}
Run Code Online (Sandbox Code Playgroud)
DOM 示例,演示繁琐
好的,这是生成一段带有一些内部跨度和诸如此类的文本的 PHP 方法:
echo "<div> This is my div, <span>There are many like it, <b>but this one</b> is</span> mine</div>";
Run Code Online (Sandbox Code Playgroud)
等效的 DOM 调用:(未测试,仅用于演示):
$dom = new DOM;
$bold = new DOMElement('b');
$bold->appendChild(new DOMText('but this one'));
$span = new DOMElement('span');
$span->appendChild(new DOMText('There are many like it,'));
$span->appendChild($bold);
$span->appendChild(new DOMText(' is');
$div = new DOMElement('div');
$div->appendChild(new DOMText(' This is my div,'));
$div->appendChild($span);
$div->appendChild(' mine');
echo $div->saveXML();
Run Code Online (Sandbox Code Playgroud)
所以....... 仍然使用 DOM 比使用更容易echo吗?
| 归档时间: |
|
| 查看次数: |
15853 次 |
| 最近记录: |