Вы действительно можете использовать preg_replace, но я бы предложил регулярное выражение, соответствующее 4. и 5.
. * подстрокам.Менее элегантное (но более простое, если вы не знаете, регулярное выражение) решение использует
strpos несколько раз, используя результат одного в качестве смещения следующего.