It's been a while (I wish I had written a test!) but I believe the reason I had done the preg_match_all trick is that the preg_split on unicode was giving me trouble with some control characters at some point. Either way, happy to go with the change. Just wanted to mention this just in case it comes up again.