Ciao,
eregi_replace() è deprecata ed è quindi consigliato usare preg_replace() al suo posto..

però a parte questo

tu hai creato una funzione searchDB($stringa,...)
che fa
"SELECT * FROM pietanze WHERE id = '".$stringa."'";

è chiaro che se poi tu scrivi nel codice
Codice PHP:
$testo eregi_replace("\[Purl]([0-9!&%#?+,'=:;@~]+)\[PurlE]",
searchDB("\1",$database_DB,$DB),$testo); 
mettendo searchBD("\1",...)
otterrai sempre e solo il la pietanza con id 1!!!!!!