Parser for nested entities of Telegram Bot API
PHP 7 and mbstring extension
It does not work properly on Windows!
Use entitiesToHtml($text, $entities);
You can use text
and entity
directly from https://core.telegram.org/bots/api#message
mb_substr()
is very slow but it is necessary for parsing, for a faster mb_substr()
you can try using this.
Using both UTF-16LE
and UTF-16BE
is necessary for correct parsing, don't ask me why, it just works.
The NULL
character is used internally in the functions, in any case Telegram will never send you that character.
Special thanks to giuseppeM99