Change log for TextGenerator
- Remove recursive regex and recursive sort in template compilation step
- Add test testImbricatedFunctions()
- Fix unit tests
- Other text functions now returns '[empty]' instead of ''
- ProbabilityRandomFunction and RandomFunction now returns '[empty]' instead of '' if there is no valid choices as arguments.
- ExprFunction now returns [empty] if the expression thrown an Error or an Exception.
- Add "replace" filter
- Fix reset sortedStatementsStack within TextGenerator::compile()
- Update phpunit and expression-language versions
- Replace strtolower() call to mb_strtolower() within LoopFunction
- Add rmna function
- Prevent filters to be called on empty values
- Prevent 'number' filter to be called on non-numeric values
- Add u modifier to preg_replace_callback() call
- Allow to load dependency expression-language 2.x or 3.x
- Add coalesce function
- Handle properly UTF-8 characters
- Remove whitespaces around variable name in set function
- Sort the function calls tree from left to right and from bottom to up
- Add 'substring' filter to FilterFunction
- Fix error when a filter doesn't exist
- Fix set function when the variable name contains another existing variable name
- Return an error in date filter is used with a wrong format
- Add new #choose{} function
- Add new #prandom{} function
- Add new #expr{} function
- Allow variables assignment through #set{} function
- Update statements execution order to allow variables assignment
- Use the special caracter '@' for tags in every cases
- Allow text to be indented with ';;'
- Misc typo fixes
- Initial version