1

我从服务器接收以下格式的数据

<ul>
    <li>Some text</li>
    <li>Other text</li>
</ul>

基本上是包含标准无序列表的字符串。我现在要做的是删除ul包装列表项的标签,这样我就只会收到内部内容。像这样:

<li>Some text</li>
<li>Other text</li>

值得一提的ul是,当我获取数据时,标签总是存在的,所以我并不关心它里面有什么,或者是否有更多的ul标签嵌套在其中。我只需要删除外部的并获取内部的数据。

JavaScript 或 PHP 解决方案都将受到欢迎。

4

3 回答 3

5
var div = document.createElement("div");
div.innerHTML = "<ul><li></li></ul>";
div.firstChild.innerHTML; //"<li></li>"

请注意,只有在字符串开头没有空格/文本时.firstChild才会出现这种情况。ul

在这种情况下,您可以使用:

var div = document.createElement("div");
div.innerHTML = "    <ul><li></li></ul>";
div.getElementsByTagName("ul")[0].innerHTML //"<li></li>"

反而

于 2012-06-12T10:25:25.920 回答
0
var txt="<ul>\n    <li>Some text</li>\n    <li>Other text</li>\n</ul>";
var result=txt.replace(/^<ul>\s*/,'').replace(/\s*<\/ul>$/,'');
于 2012-06-12T10:27:45.443 回答
0
text.replace(/^<ul>/, "")​​​​​​​​​​​​.replace(/<\/ul>$/, "");
于 2012-06-12T10:34:53.933 回答