code: public static function parseApplePriceMatrixAll($file, $directory = null)
      {
          $dom = new \DOMDocument();
          $dom->loadHTMLFile($file);
  
          $xpath = new \DOMXPath($dom);
  
          // Get all currencies
          $currencies = array();
  
          /** @var \DOMElement[] $currencyElements */
          $currencyElements = $xpath->query('//table[1]//tr[2]//td[position() > 1]');
  
          foreach ($currencyElements as $currencyElement) {
              $currency = trim($currencyElement->textContent);
  
              if ('Euro' == $currency) {
                  $currency = 'EUR';
              }
  
              $currencies[] = $currency;
          }
  
          if (!count($currencies)) {
              throw new \RuntimeException(sprintf(
                  'Not found currencies in ApplePriceMatrix in file "%s".',
                  $file
              ));
          }
  
          $currencies = array_flip($currencies);
  
          foreach ($currencies as $currency => $null) {
              $currencies[$currency] = static::parseApplePriceMatrix($dom, $currency, $directory);
          }
  
          return $currencies;
      }
docs: Parse all prices maps from Apple Price Matrix HTML document and save
  to PHP files in directory
  
  @param string $file      File path to .htm(l)
  @param string $directory Save result to directory
  
  @return array
  
  @throws \InvalidArgumentException
  @throws \RuntimeException