Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] bbcode - automatyczne tworzenie linków
Forum PHP.pl > Forum > Przedszkole
todaro
Poniżej jest kod, który chcę użyć. Mam problem z pierwszym linkiem, który nie zmienia się na odnośnik.

  1. <?
  2.  
  3. // bbcode
  4.  
  5. function bbcode_autolink($str){
  6. $lnk=$str[3];
  7. if(strlen($lnk)>30){
  8. if(substr($lnk,0,3)=='www'){$l=9;}else{$l=5;}
  9. $lnk=substr($lnk,0,$l).'(...)'.substr($lnk,strlen($lnk)-8);}
  10. return ' <a href="'.$str[2].'://'.$str[3].'" target="_blank">'.$str[2].'://'.$lnk.'</a>';}
  11.  
  12. Function bbcode($str){
  13.  
  14. // usun zbedne
  15. $str=htmlspecialchars(trim($str));
  16.  
  17. // Automatyczne tworzenie linków
  18. $str = preg_replace_callback("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#si", "bbcode_autolink", $str);
  19. $str = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", " <a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $str);
  20. $str = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href=\"javascript:mailto:mail('\\2','\\3');\">\\2_(at)_\\3</a>", $str);
  21.  
  22. // kolejny wiersz
  23. $str=nl2br($str);
  24.  
  25. // wynik
  26. return $str;}
  27.  
  28. $tresc ='http://www.google.pl
  29.  
  30. echo bbcode($tresc);
  31.  
  32. ?>


podbijam.
Kicok
#(\\s|^)...
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.