Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Modyfikator generujący automatycznie linki
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Ad4m1992
Witam. Mam książkę o Smarty w której jest modyfikator pozwalający tworzenie w locie linków jeśli w tekście znajduje się ciąg znaków - link.
kod działa jeśli wszystko zaczyna się od http://, jednak z samym www nie działa. Jak to przerobić by wszystko śmigało?
  1. function autoLinkURLs($text)
  2. {
  3. $text = preg_replace("'(\w+)://([\w\+\-\@\=\?\.\%\/\:\&\;]+)(\.)?'",
  4. "<a href=\"\\1://\\2\">\\1://\\2</a>", $text);
  5. $text = preg_replace("'(\s+)www\.([\w\+\-\@\=\?\.\%\/\:\&\;]+)(\.\s/\s)'",
  6. "\\1<a href=\"http://www.\\2\">www.\\2</a>\\3", $text);
  7. return $text;
  8. }

gothye
plik modifer.links.php :
  1. function smarty_modifier_links($text)
  2. {
  3. $in=array(
  4. '`((?:https?|ftp)://\S+[[:alnum:]]/?)`si',
  5. '`((?<!//)(www\.\S+[[:alnum:]]/?))`si'
  6. );
  7.  
  8. $out=array(
  9. "<a href='$1' target='_blank' title='$1'>$1</a> ",
  10. "<a href='http://$1' taget='_blank' title='$1'>$1</a>"
  11. );
  12. return preg_replace($in,$out,$text);
  13. }


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-2024 Invision Power Services, Inc.