Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] skracanie linku
Forum PHP.pl > Forum > Przedszkole
krystian_p
mam kod:
  1. <?
  2. $text = preg_replace('#http://([0-9a-z,#./:_-]+)#si', ' <a href="http://1" target="blank">1</a> ', $text);
  3. ?>


nie jest on do końca praktyczny, bo jeśli ktoś wpisze link o długości stu znaków, rozjeżdża się zupełnie strona...

jak przerobić tę funkcję, by długi link skracał do formy

Kod
http://www.domenajakastam.pl/articles.php?id=1...&t=100
smietek
  1. <?php
  2. $link = "http://www.strona.pl/index.php?cmd=tojestbardzodlugawartoscktorapowinnabycskrocona";
  3.  
  4. $transform = '<a href="'.$link.'" target="_blank">'.substr($link, 0, strpos($link, "?")).'...'.substr($link, -5).'</a>';
  5.  
  6. echo $transform;
  7. ?>

Bardzo proste, może niezbyt funkcjonalne, ale na początek jest.

Lub taki trochę bardziej zaawansowany:
  1. <?php
  2. php
  3. $link = "http://www.strona.pl/index.php?cmd=tojestbardzodlugawartoscktorapowinnabycskrocona&id=100";
  4.  
  5. $transform = '<a href="'.$link.'" target="_blank">'.substr($link, 0, (strpos($link, "?")+1)).'...'.substr($link, (-((strlen($link))-(strpos($link, "&"))))).'</a>';
  6.  
  7. echo $transform;
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.