处理unorder列出PHP-HTML

时间:2013-07-18 17:59:47

标签: php html xml html-lists

下午好。

我有一个看起来像这样的页面                  -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。

2 个答案:

答案 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 />';                    
}