penso di non aver capito..o di aver capito poco..
tu hai $link="link pagina 1.htm";
e fai echo "<a href=$link>";
e il link non ti va??
se è così basta ggiungere le virgolette con relativo carattere di escape:
echo "<a href=\"$link\">"; così illink viene racchiuso e considerato unico e alla richiesta via browsser vengono poi aggiunti i %20 degli spazi in automatico..
..IcE..