4

我有很多 div 的 html 代码,并且想从这段代码中删除一些 div,这很难使用 substr()或类似的 php 字符串函数,也许是更好的方法?

4

6 回答 6

4

strip_tags() 可能会有所帮助:

http://php.net/manual/en/function.strip-tags.php

于 2012-09-20T14:44:45.873 回答
3

我建议您检查一个PHP HTML 解析器以可靠地执行此操作。

于 2012-09-20T14:45:29.840 回答
3

你可以用javascript来做到这一点。只需给 div 唯一的 id,然后你就可以像这样编写一些简单的 javascript。

 document.getElementById('divid').remove();

注意:确保在运行 remove() 之前元素已加载。- 你可以用jquery做到这一点。

$(document).ready(function(){
     document.getElementById('divid').remove();
});

提醒一下,如果您决定在文档加载后的某个时间添加元素,然后删除它们,您可以使用以下代码检查元素是否存在。(再次使用 jquery 库),也可以将 css 选择器与对象一起使用,就像您使用 jquery 一样。

if ($("#divid").length > 0){
    $('#divid').remove();
}

如果说,该代码会变得很方便-您逐渐将元素添加到文档中,就像实时评论系统一样,您可以使用setInterval()来继续检查元素是否存在,如果存在,则将其删除。


如果您需要使用 php 执行此操作,那么 Brian Agnew 使用PHP HTML 解析器的回答应该可以解决您的问题。

于 2012-09-20T14:48:04.500 回答
2

您能否进一步详细说明您的用例?我会在 JS 中做到这一点 - 给你想要删除一个类的 div .remove,然后在 jQuery 中执行以下操作:

$(document).ready(function(){
     $('.remove').remove()
});

或者,在 php 中解析 HTML 并将其删除将有办法做到这一点。

于 2012-09-20T14:47:11.677 回答
2

DOMDocument使用解析 HTML的绝佳机会。

$html = new DOMDocument();
$html->loadHTML($html_string);

然后,您可以使用任何可用方法从文档中查找和删除元素,例如getElementsByTagName. 然后将它们从$html文档中删除并重新导出 ( $html->saveHTML())

于 2012-09-20T14:48:48.863 回答
0
>try this.. ;)

> str_replace("<div>","") and 
> str_replace("</div>","") 
于 2012-09-20T14:51:35.637 回答