function PARSEENTRIES::extractEntries in Bibliography Module 7.3        
                          
                  
                        Same name and namespace in other branches
- 5 bibtexParse/PARSEENTRIES.php \PARSEENTRIES::extractEntries()
 - 6.2 modules/bibtexParse/PARSEENTRIES.php \PARSEENTRIES::extractEntries()
 - 6 bibtexParse/PARSEENTRIES.php \PARSEENTRIES::extractEntries()
 - 7 modules/bibtexParse/PARSEENTRIES.php \PARSEENTRIES::extractEntries()
 - 7.2 modules/bibtexParse/PARSEENTRIES.php \PARSEENTRIES::extractEntries()
 
 
File
 
   - plugins/biblio_style/bibtex/PARSEENTRIES.php, line 439
 
  
  Class
  
  - PARSEENTRIES 
 
  
Code
function extractEntries() {
  $inside = $possibleEntryStart = FALSE;
  $entry = "";
  while ($line = $this
    ->getLine()) {
    if ($possibleEntryStart) {
      $line = $possibleEntryStart . $line;
    }
    if (!$inside && strchr($line, "@")) {
      
      $line = strstr($line, '@');
      if (!strchr($line, "{") && !strchr($line, "(")) {
        $possibleEntryStart = $line;
      }
      elseif (preg_match("/@.*([{(])/U", preg_quote($line), $matches)) {
        $inside = TRUE;
        if ($matches[1] == '{') {
          $delimitEnd = '}';
        }
        else {
          $delimitEnd = ')';
        }
        $possibleEntryStart = FALSE;
      }
    }
    if ($inside) {
      $entry .= " " . $line;
      if ($j = $this
        ->closingDelimiter($entry, $delimitEnd)) {
        
        $lastLine = substr($entry, $j + 1);
        $entry = substr($entry, 0, $j + 1);
        
        $entry = preg_replace('/\\s\\s+/', ' ', $entry);
        $this
          ->parseEntry($entry);
        $entry = strchr($lastLine, "@");
        if ($entry) {
          $inside = TRUE;
        }
        else {
          $inside = FALSE;
        }
      }
    }
  }
}