Non so se esiste una funzione che fa direttamente quello che tu chiedi, tuttavia, giocandoci un po' sopra, si può ottenere il risultato che desideri.

Codice PHP:
$indirizzo "www.abcdefghi.it";
//metto nella variabile lunghezza il numero di caratteri che compongono l'indirizzo
$lunghezza strlen($indirizzo);
//controllo se l'indirizzo ha più di 8 caratteri
if ($lunghezza >= 8)
{

//ha più di otto caratteri, quindi devo contrarlo in modo da ottenere qualcosa tipo
//www.abc...ghi.it
//la parte finale conterrà gli ultimi 6 caratteri dell'indirizzo
$finale substr($indirizzo, -6);
//la parte iniziale conterrà i primi 7 caratteri dell'indirizzo
$inizio substr($indirizzo07);
//per finire ottengo l'indirizzo contratto
$indirizzo_modificato $inizio "..." $finale;
}
else
{
//se l'indirizzo ha meno di 8 caratteri allora l'indirizzo modifcato è uguale a quello originale
$indirizzo_modificato $indirizzo;
}
//scrivo il collegamento
echo "<a href=http://" $indirizzo ">"$indirizzo_modificato "</a>"