Pues primero debes separar el texto en lineas, probablemente con file() o explode() dado el caso, luego, con lógica verificas si la linea actual corresponde a la marca que buscas y activas una bandera, en la siguiente iteración verificas dicha bandera y acumulas la linea actual para resetear la bandera, etc.
Código PHP:
Ver original$lineas = explode('|', '#a|1|#b|2|#c|3|#b|4');
$salida = [];
$visto = false;
foreach ($lineas as $linea) {
if ($linea === '#b') {
$visto = true;
continue;
}
if ($visto) {
$salida []= $linea;
$visto = false;
}
}
¿Se entiende la idea?
Usa tu ingenio.