PHP подправить регулярку
Есть регулярка которая заменяет текстовые ссылки на активные (гиперссылки), вот ее код:
function correctLinks($text) {
//return preg_replace_callback('#(http|https|ftp|ftps|www)([\:\/]+|[\.]+)([\S])+#ui', 'self::shortLink', $text);
return preg_replace('/http(s)?:\/\/([a-z0-9\-\.]+)([^\s^<]*)/i', '$3', $text);
}
echo correctLinks("смотрите услуги по сварке труб здесь http://www.svarka.expert/publ/svarka_trub/svarka_trub_vodosnabzhenija_kiev_uslugi_svarshhika_santekhnika_zamena_stojakov_otoplenija_ustanovka_batarej_polotencesushitelja_remont_kotlov/2-1-0-11 и все по сварке");
Нужно подправить, чтобы она еще дополнительно обрабатывала ссылки длиной более 16 символов, А именно анкор сокращала так в начале и в конце брала по 6 символов, а между ними встраивала точку
вместо
/publ/svarka_trub/svarka_trub_vodosnabzhenija_kiev_uslugi_svarshhika_santekhnika_zamena_stojakov_otoplenija_ustanovka_batarej_polotencesushitelja_remont_kotlov/2-1-0-11
/publ/...1-0-11
Ссылки длиной равной 16 символов и короче трогать не нужно.