mistralys / jtokenizer
Modernized, composer compatible version of Tim Whitlock's JTokenizer PHP Javascript parser and tokenizer library.
Installs: 4 838
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: >=7.2
Requires (Dev)
- phpstan/phpstan: >=0.12
- phpunit/phpunit: >=8.2.5
README
Modernized, composer compatible version of Tim Whitlock's JTokenizer PHP Javascript parser and tokenizer library.
NOTE: This package is a good choice for very basic access to JavaScript tokens. A more modern and complete solution is Peast: https://github.com/mck89/peast
Overview
The JavaScript tokenizer is designed to mimic the PHP tokenizer. Possible uses for the tokenizer include code highlighting and simple manipulation of JavaScript source code.
Quickstart
Tokenize a JavaScript file:
$tokens = \JTokenizer\JTokenizer::getFileTokens('javascript.js');
Tokenize a JavaScript string:
$jsCode = '(JavaScript source code)'; $tokens = \JTokenizer\JTokenizer::getTokens($jsCode);
Both methods behave like the PHP token_get_all
function, with the addition of
a column number as well as a line number.
Token information
The getTokens()
method returns an indexed array with a list of token arrays. Each token
array is an indexed array with the following information:
- Token identifier
- Matched literal
- Line number
- Column number
The token identifier can be either an Integer, or a string. To get the according token
type name, use the getTokenName()
method.
Source
Derived from Tim Whitlock's JTokenizer package, released back in 2009. As far as my research online showed, no one else published a modernized version of it that can run without deprecated messages on PHP7.4+.
The original sources are here:
https://timwhitlock.info/blog/2009/11/jparser-and-jtokenizer-released/