<?php $url = "http:⁄⁄lphp.ru/rus/novosti/electronic/tec/news/category/computers.html"; $p = "|(http:⁄⁄[-a-z0-9]+(\.[-a-z0-9]+)*\.(com;edu;info;ru;su;org;biz;net))?(/)(?:([-a-z0-9]+\/)*)(?=([-a-z0-9]+/))|"; $c = preg_replace($p,"/.../",$url); echo "<a href=".$url." target='_blank'>".$c."</a>"; /* Выведет на монитор: http:⁄⁄lphp.ru/.../category/computers.html */ ?>
<?php $url = "http:⁄⁄lphp.ru/12-DJ!?/for~ele-4/dir.8/index.asp"; $p ="|(http:⁄⁄[-a-z0-9]+(\.[-a-z0-9]+)*\.(com;edu;info;ru;su;org;biz;net))?(?:(/[-a-zA-Z0-9_~!?=&%]+)*)(?=/([-a-zA-Z0-9_~\.!?=&%]*)?/([-a-zA-Z0-9\.~!?=%&_]*)?$)|"; $c = preg_replace($p,"..",$url); echo "<a href=".$url." target='_blank'>".$c."</a>"; ?>
<?php function m($r) { // $r - принимает URL-адрес $x = 5; // кол-во ключей массива $arr = explode("/", $r); if(count($arr) <= $x) return $r; $ar = array(); // создаём пустой массив if($arr[0] == "http:" && $arr[1] == "") { while(count($arr) > $x) { $s = array_pop($arr); // извлекаем последнее значение array_push ($ar, $s); // добавляем в новый массив if(count($ar) > 1) { return $arr[0]."//".$arr[2]."/.../".$ar[1]."/".$ar[0]; // на выходе даёт обрезанный URL } } } else { return "not url"; } } $r = "http:⁄⁄lphp.ru/rus/novosti/electronic/tec/news/category/computers.html"; echo m($r); // http:⁄⁄lphp.ru/.../category/computers.html ?>