首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用domXpath获取父元素的当前ID

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

Stack Overflow用户
提问于 2019-04-15 17:29:57
回答 1查看 28关注 0票数 0

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

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

当域名出现在结果上时,我需要获取result c-container的id(这是位置)。希望你能帮我。

谢谢。

代码语言:javascript
复制
$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);
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 17:38:18

从文档中

代码语言:javascript
复制
$item->parentNode->tagName

示例

代码语言:javascript
复制
 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55686217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档