Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Parser bbcode
Forum PHP.pl > Forum > PHP
marian84
Próbuję zrobić coś ala bbcode parser - a mianowicie w miejscu tagu wraz z parametrami chciałbym wywołać funkcję PHP

  1. $string="STRING Z tagiem GALLERY";
  2. $pattern[] = '/\<gallery id="(.*?)" title="(.*?)" type="(.*?)"\>(.*?)\<\/gallery\>/i';
  3. $replace[] = show('$1', '$2', '$3', '$4');
  4.  
  5.  
  6. function show($id, $title, $type, $desc)
  7. {
  8. echo $id;
  9. ...
  10. }
  11.  
  12. echo preg_replace($pattern, $replace, $string);

Generalnie wygląda to ok, jeśli zmienne w funkcji chcę jedynie wyświetlić.
Problem pojawia się gdy próbuję w funkcji skorzystać ze zmiennej np. w zapytaniu do bazy danych: np:

  1. function show($id, $title, $type, $desc)
  2. {
  3. mysql_query('SELECT * FROM gallery WHERE id='.$id);
  4. ...
  5. }


w tym przypadku $id ma wartość - $1

Jak mogę przekonstruować taki "parser" by z danej zmiennej móc skorzystać?
nospor
Przeciez o to:
$replace[] = show('$1', '$2', '$3', '$4');
wykomnuje natychmiast funkcje show....


Tobie chyba bardziej chodzi o to:
http://uk1.php.net/manual/en/function.preg...ce-callback.php
SmokAnalog
Chcesz to zrobić dla zabawy/nauki czy po prostu potrzebujesz do projektu? Bo jest sporo gotowych bibliotek, które to robią.
marian84
potrzebowałem dla swojej strony.
Tak właśnie się dzieje, gdy szuka się inspiracji w sieci. Wystarczy pomyśleć ... nospor- dzięki.
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.