首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

jquery 或者php怎么检测dom元素有无闭合

2013-07-25 
jquery 或者php如何检测dom元素有无闭合比如我的dom较为复杂div classi_curr_content styleDISPLAY:

jquery 或者php如何检测dom元素有无闭合
比如我的dom较为复杂


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

<p>&nbsp;</p>

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

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

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

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



[解决办法]
用 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>&#160;</p>

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

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

<div style="page-break-after: always;"><span style="display:none">&#160;</span></div></div></body></html>

套红的都是新加的

热点排行