Hi Anton,
Thank you for the discussion!
>> - short_open_tag has been disabled by default since PHP 5.4 (2012).
>
> But there is no plan to remove them, see:
> https://wiki.php.net/rfc/deprecate_php_short_tags_v2
> https://wiki.php.net/rfc/counterargument/deprecate_php_short_tags
> <?= exists since forever and "= $expr" is not a valid code. You
should at least choose another symbol (like "<?*").
I agree: since short tags remain valid syntax, the parser and tooling
must correctly handle them in all configuration states.
Therefore, I propose replacing `<?~ ... ?>` with `<?: ... ?>`.
> See above, also respecting default_charset is a must imho, not
everyone uses UTF-8, East Asia specifically. Introducing a core syntax
and excluding a huge portion of users is not a good move.
The semantics of `<?: $expr ?>` would be equivalent to: `<?php echo
htmlspecialchars($expr, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML5); ?>` --
that is, the encoding will be determined automatically via the current
default_charset setting, as htmlspecialchars() does by default.
Best regards,
Sergei Issaev