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($indirizzo, 0, 7);
//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>";