我有很多 div 的 html 代码,并且想从这段代码中删除一些 div,这很难使用 substr()
或类似的 php 字符串函数,也许是更好的方法?
6 回答
strip_tags() 可能会有所帮助:
我建议您检查一个PHP HTML 解析器以可靠地执行此操作。
你可以用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 解析器的回答应该可以解决您的问题。
您能否进一步详细说明您的用例?我会在 JS 中做到这一点 - 给你想要删除一个类的 div .remove
,然后在 jQuery 中执行以下操作:
$(document).ready(function(){
$('.remove').remove()
});
或者,在 php 中解析 HTML 并将其删除将有办法做到这一点。
DOMDocument
使用解析 HTML的绝佳机会。
$html = new DOMDocument();
$html->loadHTML($html_string);
然后,您可以使用任何可用方法从文档中查找和删除元素,例如getElementsByTagName
. 然后将它们从$html
文档中删除并重新导出 ( $html->saveHTML()
)
>try this.. ;)
> str_replace("<div>","") and
> str_replace("</div>","")