日期:2014-05-17  浏览次数:20418 次

谁帮忙写一下这个正则

例如<div id='myid' class="myclass"> </div>
我要匹配出来一个HTML标签的class 或者 id 是什么。。(有ID拿ID,没有就拿CLASS)
最好也能匹配出来到底是div还是span还是其它

------解决方案--------------------
刚刚没注意将其写入到源代码中,使得格式错乱,看如下:

function getTagInfo(e){
var str='';
if(jQuery(e).attr('id')){
str += 'id:'+jQuery(e).attr('id');
}else if(jQuery(e).attr('class')){
str += 'class:'+jQuery(e).attr('class');

}else{
str += '既没设置id也没设置class属性';
}
str += '\ntagName:'+jQuery(e).get(0).tagName;
alert(str);
}


<div id='myDivId' class="myDivClass" onclick="getTagInfo(this)">点我</div>
<span id='mySpanId' class="mySpanClass" onclick="getTagInfo(this)">点我</span>

------解决方案--------------------
我也没看清楚,原来span或者div是不一定的,那就换  //* 然后 nodeName 获取HTML标签名。
 

<?php
$html = '<div id="myid" class="myclass"></div>';
$dom = new DOMDocument();
@$dom->loadHTML($html);
$x = new DOMXPath($dom); 

foreach($x->query("//*") as $node) 
{
    echo $node->getAttribute("id"); //myid
echo '<br />';
echo $node->getAttribute("class"); //myclass
echo '<br />';
echo $node->nodeName; // div

?>