Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobranie z tekstu #tagow
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
Witam kombinuje z preg_replace, ale bez efektów. Jak pobrać z tekstu tagi? Czyli tekst zaczynający się od #. Dzięki
Pyton_000
https://regex101.com/r/asaCFu/1
tenloginjestzajety
Dziękuje, hmm mam teraz problem z utworzeniem linku po wykryciu tagu, jeżeli w tekście jest #tag to zmiana na link: domena.pl/tag
nospor
To pokaz jak kombinujesz
tenloginjestzajety
  1. // zamiana http w tekście w link
  2. $showcontent = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1">$1</a>', $content);
  3. // zamiana tagu w link
  4. $search = '(#.+?)\b';
  5. $replace = '<a href="$1">$1</a>';
  6. $showcontent = preg_replace ($search, $replace, $showcontent);


nospor
Ale bledy to mozna by wlaczyc by sie wyswietlaly i widziec co sie dzieje...

wyrazenie regularne w php wymaga poczatku i konca, np

$search = '/(#.+?)\b/';

lub jak to stosujesz wczesniej
$search = '@(#.+?)\b@';
tenloginjestzajety
Ostatnia sprawa, próbuje pozbyć się # w $1 - str_replace nie działa.
  1. $preg_replace = array('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@','@(#.+?)\b@');
  2. $search_replace = array('<a href="$1">$1</a>','<a href="$1">$1</a>');
  3. $showcontent = preg_replace($preg_replace, $search_replace, $content);
Pyton_000
# przed nawias
tenloginjestzajety
Dziękuje!
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.