L'operazione inversa non funziona? Nel senso, invece di

echo "$row[testo]";

dai in output nella textarea:

codice:
echo str_replace("[b]", "[[ B ]]", $row[testo]);