我有这样的代码
<div class="rgz">
<div class="xyz">
</div>
<div class="ckh">
</div>
</div>
班级ckh不会每次都出现。有人可以建议正则表达式获取fiv rgz的数据。不需要ckh中的数据,但div不会总是出现。 提前致谢
答案 0 :(得分:1)
正则表达式可能不是你最好的选择。
jquery这样的javascript框架允许你使用CSS选择器来获取你需要的元素,做类似的事情
$('.rgz').children().last().innerHTML
答案 1 :(得分:1)
@diEcho和@Dve是正确的,您应该学会使用类似本地DOMdocument类而不是使用正则表达式。您的代码将更易于阅读和维护,并且可以更好地处理格式错误的HTML。
以下是一些示例代码,可能会或可能不会执行您想要的操作:
$contents = '';
$doc = new DOMDocument();
$doc->load($page_url);
$nodes = $doc->getElementsByTagName('div');
foreach ($nodes as $node)
{
if($node->hasAttributes()){
$attributes = $element->attributes;
if(!is_null($attributes)){
foreach ($attributes as $index=>$attr){
if($attr->name == 'class' && $attr->value == 'rgz'){
$contents .= $node->nodeValue;
}
}
}
}
}