jquery 或者php如何检测dom元素有无闭合

helloha2013 2013-07-18 11:49:51
比如我的dom较为复杂


<div class="i_curr_content" style="DISPLAY: block"> //这个div没有闭合
<h3><a class="green" href="">8种超级抗压食品,吃掉压力!</a></h3>

<p> </p>

<div style="page-break-after: always;"><span style="display:none"> </span></div>

<p>众所周知,过大的压力会破坏我们的饮食习惯,2112132123</p>

<div style="page-break-after: always;"><span style="display:none"> </span></div>

请问 php或者jquery如何能查出这样没有闭合的html元素,并补上这个闭合元素</div>?


...全文
91 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloha2013 2013-07-18
  • 打赏
  • 举报
回复
太帅了,给分!
xuzuning 2013-07-18
  • 打赏
  • 举报
回复
用 DOMDocument::loadHTML 读入,在用 DOMDocument::saveHTML 写出 就自动补全了,但需要注意的是:html 文档中一定要有 <meta http-equiv="Content-Type" content="text/html; charset=???"> 标记,如果没有则自己加上 比如你的这段(假定是 gbk 的)
$s =<<< HTML
<div class="i_curr_content" style="DISPLAY: block">  //这个div没有闭合
<h3><a class="green" href="">8种超级抗压食品,吃掉压力!</a></h3>

<p> </p>

<div style="page-break-after: always;"><span style="display:none"> </span></div>

<p>众所周知,过大的压力会破坏我们的饮食习惯,2112132123</p>

<div style="page-break-after: always;"><span style="display:none"> </span></div>
HTML;
$s = '<meta http-equiv="Content-Type" content="text/html; charset=gbk">'.$s;

$doc = new DOMDocument;
$doc->loadHTML($s);
echo $doc->saveHTML();
将输出 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div class="i_curr_content" style="DISPLAY: block"> //这个div没有闭合 <h3><a class="green" href="">8种超级抗压食品,吃掉压力!</a></h3> <p> </p> <div style="page-break-after: always;"><span style="display:none"> </span></div> <p>众所周知,过大的压力会破坏我们的饮食习惯,2112132123</p> <div style="page-break-after: always;"><span style="display:none"> </span></div></div></body></html> 套红的都是新加的

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧