1. Go to this page and download the library: Download renanbr/bibtex-parser library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
renanbr / bibtex-parser example snippets
use RenanBr\BibTexParser\Listener;
use RenanBr\BibTexParser\Parser;
use RenanBr\BibTexParser\Processor;
y},
author={Einstein, Albert},
year={1916}
}
BIBTEX;
// Create and configure a Listener
$listener = new Listener();
$listener->addProcessor(new Processor\TagNameCaseProcessor(CASE_LOWER));
// $listener->addProcessor(new Processor\NamesProcessor());
// $listener->addProcessor(new Processor\KeywordsProcessor());
// $listener->addProcessor(new Processor\DateProcessor());
// $listener->addProcessor(new Processor\FillMissingProcessor([/* ... */]));
// $listener->addProcessor(new Processor\TrimProcessor());
// $listener->addProcessor(new Processor\UrlFromDoiProcessor());
// $listener->addProcessor(new Processor\LatexToUnicodeProcessor());
// ... you can append as many Processors as you want
// Create a Parser and attach the listener
$parser = new Parser();
$parser->addListener($listener);
// Parse the content, then read processed data from the Listener
$parser->parseString($bibtex); // or parseFile('/path/to/file.bib')
$entries = $listener->export();
print_r($entries);
use RenanBr\BibTexParser\Processor\TagNameCaseProcessor;
$listener->addProcessor(new TagNameCaseProcessor(CASE_UPPER)); // or CASE_LOWER
use RenanBr\BibTexParser\Processor\NamesProcessor;
$listener->addProcessor(new NamesProcessor());
use RenanBr\BibTexParser\Processor\KeywordsProcessor;
$listener->addProcessor(new KeywordsProcessor());
use RenanBr\BibTexParser\Processor\DateProcessor;
$listener->addProcessor(new DateProcessor());
use RenanBr\BibTexParser\Processor\FillMissingProcessor;
$listener->addProcessor(new FillMissingProcessor([
'title' => 'This entry has no title',
'year' => 1970,
]));
use RenanBr\BibTexParser\Processor\TrimProcessor;
$listener->addProcessor(new TrimProcessor());
use RenanBr\BibTexParser\Processor\UrlFromDoiProcessor;
$listener->addProcessor(new UrlFromDoiProcessor());
use RenanBr\BibTexParser\Processor\LatexToUnicodeProcessor;
$listener->addProcessor(new LatexToUnicodeProcessor());
$listener->addProcessor(static function (array $entry) {
$entry['title'] .= ' with laser';
return $entry;
});
use RenanBr\BibTexParser\Exception\ExceptionInterface;
use RenanBr\BibTexParser\Exception\ParserException;
use RenanBr\BibTexParser\Exception\ProcessorException;
try {
// ... parser and listener configuration
$parser->parseFile('/path/to/file.bib');
$entries = $listener->export();
} catch (ParserException $exception) {
// The BibTeX isn't valid
} catch (ProcessorException $exception) {
// Listener's processors aren't able to handle data found
} catch (ExceptionInterface $exception) {
// Alternatively, you can use this exception to catch all of them at once
}
namespace RenanBr\BibTexParser;
interface ListenerInterface
{
/**
* Called when an unit is found.
*
* @param string $text The original content of the unit found.
* Escape character will not be sent.
* @param string $type The type of unit found.
* It can assume one of Parser's constant value.
* @param array $context Contains details of the unit found.
*/
public function bibTexUnitFound($text, $type, array $context);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.