使用 domXpath 获取父元素的当前 ID

Get the current ID of parent element using domXpath

我正在努力获取一个域名在百度上的排名。

我想做的是在域出现时获取结果的位置,我设法获取域名,我的问题是位置。

当域出现在结果中时,我需要获取 result c-containerid(这是位置)。希望你能帮助我。

谢谢。

$finder = new DomXPath($document);
        $results = $finder->query("//*[contains(@class, 'result c-container')]");

        if($element){

            $data = array();

            foreach ($results as $result) {
                # code...


                $as = $result->getElementsByTagName('a');
                foreach ($as as $a){
                    if ($a->getAttribute('class') === 'c-showurl') {  
                        $textUrl = $a->nodeValue;

                        if (($pos = strpos($textUrl, "}")) !== FALSE) { 
                            $textUrl = substr($textUrl, $pos+1); 
                        }

                        $domain = trimUrl($domain);

                        if(preg_match("/{$domain}/i", $textUrl)) {
                            $data['domain'] = $textUrl;
                            $data['id'] = ?
                        }


                    }
                }

            }

            array_push($res, $data);

        }else{
            $data = array();
            array_push($res, $data);
        }

来自文档

$item->parentNode->tagName

例子

 if($item->parentNode->tagName == "h2") {
    $href =  $item->getAttribute("href");
    $text = trim(preg_replace("/[\r\n]+/", " ", $item->nodeValue));
    $links[] = [
      'href' => $href,
      'text' => $text
    ];
  }

来源:https://www.the-art-of-web.com/php/html-xpath-query/#section_3