Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Automatyczne linki
Forum PHP.pl > Forum > Przedszkole
marcio
Witam jak w temacie wziąłem kod z bbcode.strefaphp.net jednak cos nie dziala normalne link tylko z http:// czy www zamienia ale juz takiego czegos nie chce
www.ekmll.com/forum/viewthread.php?rowstart=20&forum_id=31&thr ead_id=416#3227
LUb

http://www.google.pl/search?hl=pl&q=la+figa+rasata&btnG=Szukaj +w+Google&lr=
Jako ze na wyrazeniach sie nie znam to nie wiem co mam zle tu jest odpowiedz http://forum.php.pl/index.php?showtopic=87...omatyczne+linki ale nie wiem gdzie to dac zabradzo

Tak troche glupio mi ze taki latwy problem no ale coz
webdice
  1. <?php
  2.  
  3. $string = 'http://forum.php.pl/nowe_posty.html';
  4.  
  5. print preg_replace ('#(http[s]?://|ftp://|www.)([^ ]+)#', '<a href="$1$2">$1$2</a>', $string);
  6.  
  7. ?>
marcio
OK zamieniac zamienia teraz wszystkie ale pierwszy link daje mi cos takiego

Cytat

JEdnak tamte przykalady co podalem dzialaja smile.gif
webdice
Co ty zamieniasz? Zwykły tekst na linki czy tekst z HTML'em na linki?
marcio
Zwykly tekst z forma chce to dodac do mojego forum smile.gif ogolnie funckje i kawalek bbcoda mam dokladnie taki sam jak w tamtym linku smile.gif
webdice
Więc co Ci nie działa?
marcio
A wiec mam
  1. <?php
  2. $zmien = preg_replace_callback("#([\n ])([a-z]+?)://([a-z0-9-.,?!%*_#:;~&$@/=+]+)#si", "bbcode_autolink", $zmien);
  3. $zmien = preg_replace ('#(http[s]?://|ftp://|www.)([^ ]+)#', '<a href="$1$2">$1$2</a>', $zmien);
  4.  
  5.  
  6. function bbcode_autolink($str) {
  7.  
  8. $lnk=$str[3];
  9. if(strlen($lnk)>30) {
  10. if(substr($lnk,0,3)=='www' || substr($lnk, 0, 6) == 'http://') {
  11. $l=9;
  12. } 
  13. else {
  14. $l=5;
  15. }
  16. $lnk=substr($lnk,0,$l).'(...)'.substr($lnk,strlen($lnk)-8);
  17. }
  18. return ' <a href="'.$str[2].'://'.$str[3].'" target="_blank">'.$str[2].'://'.$lnk.'</a>';
  19. }
  20. ?>

Chodzi o to ze gdy daje takie linki:
http://www.google.pl/search?hl=pl&q=la+fi ga+rasata&btnG=Szukaj+w+Google&lr=://http://www.google.pl/search?hl=pl&a...+Google&lr=://http://www.google.pl/search?hl=pl&a...+Google&lr= robi sie link ale nie skraca go
http://ekmll.com/forum/viewthread.php?rowsta rt=20&forum_id=31&thread_id=416#3227://http://ekmll.com/forum/viewthread.p...ead_id=416#3227://http://ekmll.com/forum/viewthread.p...ead_id=416#3227 to samo co wyzej
www.ekmll.com dziala good
Takie rzeczy juz nie dzialaja i nie wiem dlaczego
http://ekmll.com" target="_blank">http://ekmll.com
http://www.ekmll.com" target="_blank">http://www.ekmll.com

Jak to poprawic i jak zrobic zeby skrucalo link?
kriqs
$zmien = preg_replace_callback("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#si", "bbcode_autolink", $zmien); // wywal to biggrin.gif
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.