Heim >Backend-Entwicklung >PHP-Tutorial >谁帮忙写一下这个正则

谁帮忙写一下这个正则

WBOY
WBOYOriginal
2016-06-23 14:09:59808Durchsuche


例如

 

我要匹配出来一个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我没接触过

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn