donatj / printf-parser
PHP printf-syntax compatible printf string parser. Parses printf strings into a stream of lexemes.
v0.7.0
2026-04-22 15:43 UTC
Requires
- php: >=7.4
Requires (Dev)
- corpus/coding-standard: ^0.9.0
- donatj/drop: ~1
- friendsofphp/php-cs-fixer: ^3.94
- phpstan/phpstan: =2.1.45
- phpunit/phpunit: ~9
- squizlabs/php_codesniffer: ^3.13
This package is auto-updated.
Last update: 2026-04-22 16:02:55 UTC
README
PHP printf-syntax compatible printf string parser.
Parses printf strings into a stream of lexemes.
Requirements
- php: >=7.4
Installing
Install the latest version with:
composer require 'donatj/printf-parser'
Example
Here is a simple example:
<?php require __DIR__ . '/../vendor/autoload.php'; $emitter = new \donatj\Printf\LexemeEmitter; $parser = new \donatj\Printf\Parser($emitter); $parser->parseStr('percent of %s: %d%%'); $lexemes = $emitter->getLexemes(); foreach( $lexemes as $lexeme ) { echo $lexeme->getLexItemType() . ' -> '; echo var_export($lexeme->getVal(), true); if( $lexeme instanceof \donatj\Printf\ArgumentLexeme ) { echo ' arg type: ' . $lexeme->argType(); } echo PHP_EOL; }
Output:
! -> 'percent of '
s -> 's' arg type: string
! -> ': '
d -> 'd' arg type: int
! -> '%'