>백엔드 개발 >PHP 튜토리얼 >谁帮忙写一下这个正则

谁帮忙写一下这个正则

WBOY
WBOY원래의
2016-06-23 14:09:59775검색


例如

 

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


回复讨论(解决方案)

提供一个jQuery的解决方式
<script> <br /> function getTagInfo(e){ <br /> var str=''; <br /> if(jQuery(e).attr('id')){ <br /> str += 'id:'+jQuery(e).attr('id'); <br /> }else if(jQuery(e).attr('class')){ <br /> str += 'class:'+jQuery(e).attr('class'); <br /> <br /> }else{ <br /> str += '既没设置id也没设置class属性'; <br /> } <br /> str += '\ntagName:'+jQuery(e).get(0).tagName; <br /> alert(str); <br /> } <br /> </script>

点我试试

点我试试

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

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>

$html = '<div id="myid" class="myclass"></div>';$dom = new DOMDocument();@$dom->loadHTML($html);$x = new DOMXPath($dom); foreach($x->query("//div") as $node)//如果要span的话,//div 换成 //span {    echo $node->getAttribute("id");	echo '<br />';	echo $node->getAttribute("class");}

我也没看清楚,原来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} ?>

[/code]

用PHPQUERY 可以实现吗



[/code]

用PHPQUERY 可以实现吗
sorry!PHPQUERY我没接触过

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.