function getContent($xml,$tag,$id="") {
if ($id=="") {
$tag_regex = '/<'.$tag.'[^>]*>(.*?)<\/'.$tag.'>/si';
} else {
$tag_regex = '/<'.$tag.'[^>]*id=[\'"]'.$id.'[\'"]>(.*?)<\/'.$tag.'>/si';
}
preg_match($tag_regex,$xml,$matches);
return $matches[1];
}
$omg = file_get_contents("Generated/index.php");
$extract = getContent($omg,"div","lolz2");
echo $extract;
例如我有这样的东西。html里面有这样的东西:
<div id="lolz">qwg1eqwe</div>
<div id="lolz1"><div id='lolz2'>qwdqw2cq</div>asd3qwe</div>
如果我们搜索 id lolz 我们会得到正确的答案,但是如果我们搜索 lolz1 我们首先会停下来,</div>
那就是 inner <div id="lolz2">
。可以为 preg_match 保留类似 counter 的东西,这将保持多少<div>
'si pass 直到我找到</div>
?