Non so se str_replace puo' essere la soluzione migliore, pensavo piu' a preg_replace. Provo ad esporre meglio il problema.
1) Ho una pagina in cui inserisco un testo (che puo' contenere bbcodes) e che invio ad un altro script per essere elaborato
2) Devo controllare se sono presenti dei bbcodes; se si apro la connessione al database e verifico che tale bbcode sia presente nel database e qual e' il suo corrispettivo codice html
3) Estraggo il codice html corrispondente e lo sostituisco nel testo
Esempio
Testo in input: foo bar html forum
Testo in output: foo bar <b>html forum</b>
Questo e' il database
database.jpg