下午好。
我有一个看起来像这样的页面 -edit - 请务必注意代码是DYNAMIC。我的用户正在上传这些图片,然后通过回显,使用img代码创建一个新的列表对象。我不能“硬编码”,因为列表永远不会相同。我将让客户上传50多张图片,因此他们将有50多个列表项。我希望能够做的就是将我创建的列表转换为字符串 - 或者我对其他建议持开放态度。
<ul>
<li class="ui-state-default"><img code for img 1></li>
<li class="ui-state-default"><img code 2></li>
<li class="ui-state-default"><img code 3></li>
<li class="ui-state-default"><img code 4></li>
<li class="ui-state-default"><img code 5></li>
<li class="ui-state-default"><img code 6></li>
<li class="ui-state-default"><img code 7></li>
</ul>
我想要做的是找到一种通过PHP以正确的顺序处理此列表的方法。
I.E从该列表中创建XML。
我熟悉SimpleXML,但我很难找到让PHP看到列表。我的问题是 - 如何让PHP读取该列表,所以我可以创建它的xml?
我已经尝试了几个Ajax示例,从我看到的示例开始,Ajax就是复杂的。
感谢您提供的任何帮助,请不要只留下评论“使用DOM”而不是进一步解释。我已经有很多这样的了。
编辑------------
我的最后一次尝试就是这个
<?php
$dom = new DOMDocument();
$dom->loadHTML($data);
$unorderedList = $dom->getElementsByTagName('ul');
foreach ($unorderedList->item(0)->getElementsByTagName('li') as $unorderedList) {
echo $unorderedList->nodeValue.'<br />';
}
?>
但是,我无法让PHP能够看到列表...我的问题实际上围绕如何让PHP在其上方的HTML(同一页面)中查看列表而不是如何创建xml。
答案 0 :(得分:1)
您正在遍历所有<li>
元素,但正在寻找图片代码。所以你需要深入了解
if ($unorderedList->hasChildNodes()) {
foreach ($unorderedList->childNodes as $image) {
var_dump($image->getAttribute('src'));
}
}
答案 1 :(得分:1)
让as $varname
与您的主变量不同,$unorderedList->nodeValue
只是空的(没有文字节点内容,我承认属性为badly documented “此节点的值,根据其类型“什么也没说”,它将输出:
<br /><br /><br /><br /><br /><br /><br />
如果你想要那个内容的html:
foreach ($unorderedList->item(0)->getElementsByTagName('li') as $listItem) {
foreach($listItem->childNodes as $node){
echo $dom->saveHTML($node);//use $dom->saveXML($node) if in PHP < 5.3.6
}
echo '<br />';
}