Skocz do zawartości

Wywołanie funkcji wewnątrz preg_replace


jaclaw

Rekomendowane odpowiedzi

Mam napisaną prostą funcję wyświetlajcą obrazek i link do podstrony - pokazitemnr()

Mam też bazę z newsami. Wstawiam newsa w treści którego jest znacznik [i50]. Chcę aby wyświetlając treść newsa wszystkie znaczniki typu [i([0-9]*)] mieliła mi funkcja pokazitemnr(). Jak tego dokonać?

Mam taki kod:

$tresc_gotowa = preg_replace("@\[i([0-9]*)\]@is", "\\1", $tresc_z_bazy_ze_znacznikiem);

Ten kod w treści newsa zamienia wszystkie znaczniki typu [i800] na samą liczbę 800. Jak zrobić żeby każdą taką zamianę leciała funkcja pokazitemnr() ?

Próbowałem zamieniać "\\1" na pokazitemnr(\\1) itp. ale to nie działało.. Kto wie jak się to robi i czy to co chcę osiągnąć jest możliwe?

Drukarka przestaje już drukować? Kup tusze i tonery na inkhouse.pl !

Odnośnik do komentarza
Udostępnij na innych stronach

preg_replace_callback()

Calback przyjmuje jako argument tablicę z dopasowaniami a zwraca replacement string, możliwe że u ciebie będzie to coś takiego:

$subject = preg_replace_callaback($pattern, "pokazitemnr", $subject);

pokazitemnr($matches)

{

do sth with //$matches[0];

}

Programista aplikacji webowych i pozycjoner w Edukey - Szkolenia komputerowe | programowanie w VBA

Polecam dobry i tani hosting w firmie masternet

logo-edukey-twojaeuropa.png

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności