You're welcome.
Here are some test cases I've added since posting. I'd be very interested to hear your comments, especially as regards the "questionable" ones.
'--- tests added 16feb20 after pm#11113014 post ---',
'"failing" (i.e., no transformation) tests',
[ '' => '', ],
[ '*' => '*', ],
[ '*_/' => '*_/', ],
[ ' * _ / ' => ' * _ / ', ],
[ '*fail/' => '*fail/', ],
[ ' * fail / ' => ' * fail / ', ],
'possibly questionable transformations',
[ '__' => '<u></u>', ],
[ ' __ ' => ' <u></u> ', ],
[ '__ __' => '<u></u> <u></u>', ],
[ ' __ __ ' => ' <u></u> <u></u> ', ],
[ '____' => '<u></u><u></u>', '???' ],
[ ' ____ ' => ' <u></u><u></u> ', '???' ],
[ '______' => '<u></u><u></u><u></u>', '???' ],
[ ' ______ ' => ' <u></u><u></u><u></u> ', '???' ],
[ '________' => '<u></u><u></u><u></u><u></u>', '???' ],
[ ' ________ ' => ' <u></u><u></u><u></u><u></u> ', '???' ],
[ '__ __ __ __' => '<u></u> <u></u> <u></u> <u></u>', ],
[ ' __ __ __ __ ' => ' <u></u> <u></u> <u></u> <u></u> ', ],
In this particular case the syntax is also meant to coexist with more verbose html tags.
There are cases where one doesn't want to have a whitespace in between neighboring tags.
Can you supply some test cases for variations, especially WRT intermixtures with standard HTML?
Give a man a fish: <%-{-{-{-<