Se bastano i separatori: "/, \, |, -, _" , ecco uno snippet per te, risolvi tutto con 1 riga di codice con le espressioni regolari (tutto il resto dello snippet è solo per testare il funzionamento). Se hai bisogno di altri separatori fammi sapere che te li aggiungo.
Codice PHP:
<?php
$frasi = array();
$frasi[] = 'giallo rosso';
$frasi[] = 'giallo_rosso';
$frasi[] = 'giallo-rosso';
$frasi[] = 'giallo\rosso';
$frasi[] = 'giallo/rosso';
$frasi[] = 'giallo!rosso';
$frasi[] = 'giallo e rosso';
// riconosce i separatori: /, \, |, -, _
foreach($frasi as $frase){
echo 'frase iniziale: '.$frase.'<br />';
echo 'frase elaborata: '.preg_replace('#[/\|\-_! \\\]#',' ',$frase);
echo '<hr />';
}
?>