Do I need still to be concerned about favouring str_replace over preg_replace in PHP 7?
Most of such advises are crystal clear bullshit, on so many levels. You need to understand that such recommendations are never a result of some quality research, but just a rephrase of some vague rumor. The internet is full of chimpanzees. 

This particular advise didn't make any sense even for PHP5.

That said, a set of consequent function calls apparently should be less efficient than a single call (but again if only it made any real life difference whatsoever). 

That said, str_replace accepts array arguments, so it can be 

$Page = str_replace(['-&amp;-','-&amp;amp;-','&amp;amp;','-and-','-et-','-und-','-y-'], '-[+]-', $Page);


But you can use whatever version you like, as any difference is unnoticeable. Personally I find preg_replace() approach the cleanest and would prefer that. 

As a rule of thumb, do not trust some random pieces of advise from Internet, especially performance-related. It's always just random rubbish. Bother with any optimizations only if your code actually has performance issues. And even in this case do not optimize random irrelevant parts but find the actual bottleneck and optimize it.