Ah thanks Acorn, I did not try using a space, that is good to know.

The naming convention I'm using for tags/class names is eg. cms-product-price-456789 , cms-page-content etc. any character can be upper or lower case but the words are separated with hyphens. I figured it was easiest to read no matter what case is used, although it does make them a bit longer.

With your find I would have to add support to work with underscores too, which is doable. However I noticed afterwards that the class name is used twice, once in the span and again in a wrapping div, and it got a bit messier to pursue.

I ended up adding find-and-replace support so any custom text or class name etc. can be set to be changed to whatever, much like your last suggestion. So in a theme config file you can set for example 'mystyle' => 'my-tag' or whatever and so it's stored and used automatically going forward. None of this was needed for standard placeholders with tags in the body but I was trying to get a bit more fine grain control over the text spans. ie. keep the text styling but just change the text and now this way allows for that too.