title: Can't find the correct XPath expression (to combine results)
body: <p>I'm trying to get a list of proverbs from <a href="http://nl.wikipedia.org/wiki/Lijst_van_Nederlandse_spreekwoorden_A-E" rel="nofollow">wikipedia</a>. </p>
  
  <p>I'm able to select:</p>
  
  <ul>
  <li>the categories (e.g. "aanval", "aap")</li>
  <li>the proverbs (e.g. "De aanhouder wint.") </li>
  <li>the explanations (e.g. "Wie blijft proberen zijn doel te bereiken, heeft uiteindelijk succes. je moet volhouden.")</li>
  </ul>
  
  <p>but have much difficulty in joining them the correct way. I would like to end up with an array like:</p>
  
  <pre><code>array(
    0 =&gt; array(
      'category' =&gt; 'aanval',
      'proverb' =&gt; 'De aanval is de beste verdediging.',
      'explanation' =&gt; array(
        0 =&gt; 'Je kunt in een strijd of ruzie beter zelf actie ondernemen dan afwachten.',
      )
    ),
    1 =&gt; array(
      'category' =&gt; 'aap',
      'proverb' =&gt; 'Al draagt een aap een gouden ring, het is en blijft een lelijk ding.',
      'explanation' =&gt; array(
        0 =&gt; 'Wie zich mooi aankleedt wordt daarmee zelf nog niet mooi.',
        1 =&gt; 'Of: Wie zich kleedt als iemand van aanzien wordt daarmee nog niet aanzienlijk.',
        2 =&gt; 'Of: Fraaie kleding en sieraden maken een lelijk mens niet mooi.'
      )
    ),
    2 =&gt; array(
      'category' =&gt; 'aap',
      'proverb' =&gt; 'Als apen hoger klimmen willen, ziet men gauw hun blote billen.',
      'explanation' =&gt; array(
        0 =&gt; 'Iemand die meer wil dan hij kan, maakt zich snel belachelijk.',
      )
    ),
  );
  </code></pre>
  
  <p>Here's the code I'm using now:</p>
  
  <pre><code>if ($x = urlToXpath($url, true))
  {
    $keywords = array();
    foreach ($x-&gt;query('/html/body/div[3]/div[3]/h2/span[@class="mw-headline"]') as $node)
    {
      $keywords[] = trim($node-&gt;nodeValue);
    }
  
    $data = array();
    foreach ($x-&gt;query('/html/body/div[3]/div[3]/dl/dd/dl') as $node)
    {
      $proverbs = array();
      foreach ($x-&gt;query('dd[@style="font-weight: bold"] | dd/b', $node) as $childNode)
      {
        $proverbs[] = trim($childNode-&gt;nodeValue);
      }
      $descriptions = array();
      foreach ($x-&gt;query('dd[position()&gt;1]/small', $node) as $childNode)
      {
        $descriptions[] = trim(preg_replace('/^((Ook|Of):)/i', '', $childNode-&gt;nodeValue));
      }
      $data[] = array('proverbs' =&gt; $proverbs, 'descriptions' =&gt; $descriptions);
    }
  }
  </code></pre>