Your dashes are a combination of a long dash β and hypen-minus (short dash) - - if you look at your code and title in a different font, you will see the difference.
At the beginning there are two short hyphens that delete your code, and some long dashes later than not removed.
Adding this will be fixed (this is a different dash, even if it doesn't look like one):
$s1clean = str_replace('β', '', $s1clean);
Edit
Alternatively duplicate the 2013 line of code, but use a hyphen minus < instead of 2013:
$em_dash = html_entity_decode('-', ENT_COMPAT, 'UTF-8');
If you are editing a font with a fixed width, they look the same, but they are not.
Mousey
source share