Van variabele naar defined
Steef
18/01/2010 09:08:00Hallo phphulp'ers,
Ik zit met een vraag/probleem. Ik probeer een eigen kleine parser te maken, gewoon om het te leren omgaan met preg_* enz...
Nu heb ik in een Database een aantal blokken staan met daarin diverse stukken tekst: Bloknaam, Blokcode, Blokinhoud.
Bloknaam is de naam van het block, Blokcode is de parser code die in de tekst gevonden word, Blokinhoud is wat in de blok moet komen te staan.
Voordat ik ga parsen haal ik al deze blokken uit de database en stop ze ieder in een eigen define (misschien ga ik hier de fout in?)
Vervolgens probeer ik met preg_match_all en preg_replace de Blokcode in de tekst te vervangen voor de Blokinhoud.
Even kort in code:
Query ....
while()
{
define(Blokcode, Blokinhoud);
}
preg_match_all(formaat, tekst, array)
foreach(array as array2)
{
foreach(array2 as array3)
{
preg_replace(formaat, defined(array3), tekst);
}
}
Alleen dit wil niet werken, hij plaatst hem in een array en hij maakt de define aan, alleen hij pikt het niet als ik van array3 een defined ga maken.
Weet iemand hier een oplossing voor?
Ik zit met een vraag/probleem. Ik probeer een eigen kleine parser te maken, gewoon om het te leren omgaan met preg_* enz...
Nu heb ik in een Database een aantal blokken staan met daarin diverse stukken tekst: Bloknaam, Blokcode, Blokinhoud.
Bloknaam is de naam van het block, Blokcode is de parser code die in de tekst gevonden word, Blokinhoud is wat in de blok moet komen te staan.
Voordat ik ga parsen haal ik al deze blokken uit de database en stop ze ieder in een eigen define (misschien ga ik hier de fout in?)
Vervolgens probeer ik met preg_match_all en preg_replace de Blokcode in de tekst te vervangen voor de Blokinhoud.
Even kort in code:
Query ....
while()
{
define(Blokcode, Blokinhoud);
}
preg_match_all(formaat, tekst, array)
foreach(array as array2)
{
foreach(array2 as array3)
{
preg_replace(formaat, defined(array3), tekst);
}
}
Alleen dit wil niet werken, hij plaatst hem in een array en hij maakt de define aan, alleen hij pikt het niet als ik van array3 een defined ga maken.
Weet iemand hier een oplossing voor?
Gewijzigd op 01/01/1970 01:00:00 door Steef
PHP hulp
05/11/2024 12:34:59Steef
18/01/2010 09:29:00Ik heb het inmiddels opgelost door geen gebruik te maken van define maar van array.
Hij zet ieder item in de while in een array:
$array[Blokcode] = Blockinhoud;
en deze haalt ie vervolgens in de foreach op.
Hij zet ieder item in de while in een array:
$array[Blokcode] = Blockinhoud;
en deze haalt ie vervolgens in de foreach op.