Ok dime cual es el limite para que sea considerado grande, cuanto quiere que quede del trozo inicial vienen los ... y cuantos caracteres quieren que se muestren del final
aca te deje una version configurable espero te sirva
Código PHP:
<?php
$url="www.foroslarguisisismos deldelweb.com";
$lmax=20;//longitus a partir de la cual una url se considera larga
$inicial=9;//caracteres que se conservaran al principio
$final=-7;//el valor de caracteres que se conservaran al final en negativo
if(strlen($url)>$lmax)
$url=substr($url,0,$inicial)."...".substr($url,$final,abs($final));
echo $url;
?>