Per far "evaporare" il testo, ti consiglio di usare una delle tecniche di Mr. Zeldman:
codice:
a {
   text-indent:-9999px;
}
Per il resto non riesco a capire il problema: un semplice image-replacement in css non ti basta?