代码之家  ›  专栏  ›  技术社区  ›  medk

PHP简单的htmldom解析器将元素放在当前元素的后面

  •  0
  • medk  · 技术社区  · 6 年前

    我有一个HTML:

    <div class="card">
        <span class="label">Name:</span><span>John Doe</span>
        <span class="label">Address:</span><span>Some address...</span>
        <span class="label">Email:</span><span>email@example.com</span>
        <span class="label">Tel:</span><span>xxxxxxxxx</span>
    </div>
    
    
    
    $spans = $html->find('.label');
    foreach ($spans as $span) {
        if ($span->plaintext == 'Name:') $name = John Doe;
        (ALWAYS THE SPAN NEXT TO THE CURRENT .label SPAN)
    }
    

    现在,如何获取当前范围旁边的范围值(纯文本)。

    注:标签的顺序和它们的值是不断变化的,有时是地址前的电话。。。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Felippe Duarte    6 年前

    nextSibling() http://simplehtmldom.sourceforge.net/manual_api.htm

    if ($span->plaintext == 'Name:') {
        $name = $span->nextSibling()->plaintext;
    }