Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parser bbcode
marian84
post
Post #1





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

Ostrzeżenie: (0%)
-----


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ć?

Ten post edytował marian84 13.12.2017, 14:30:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 16:08