se invece non c'è il separatore, secondo voi mi ritorna $string così come passato in partenza?
Ti restituisce un array con un solo elemento (la stringa originale).

mi ritrovo nella condizione di dover impostare una funzione explode() su una stringa senza sapere a priori quale sarà il separatore giusto.
Se non sai a priori quale sarà il separatore da utilizzare, lo devi identificarle. Quali sono le condizioni che deve soddisfare la tua stringa affinché venga utilizzato un separatore al posto di un altro? Oppure hai bisogno avere un array che contenga la stringa separata utilizzando tutti i separatori possibili? Se fai un esempio mi chiarisci cosa vuoi ottenere.

lui dovrebbe riuscire a separare a prescindere da quello usato o sbaglio?
Non mi è molto chiara questa frase.