[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Webmasterplein.net • Toon onderwerp - Menu in template parse systeem.
aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

Menu in template parse systeem.

Je komt er niet helemaal uit bij het scripten? Übergoede functie geschreven? Alles met betrekking tot scripting, kun je hier terecht.

Menu in template parse systeem.

Berichtdoor Rik » 30 mei 2006 11:24

Avatar gebruiker
Rik
wmpr
 
Berichten: 1576
Geregistreerd: 11 jun 2005 17:59

Re: Menu in template parse systeem.

Berichtdoor KillerSponge » 30 mei 2006 14:02

Dat is idd het moeilijkste stuk ^^

In phpweb gebruik ik de functie eval(). Hiermee kan je een stuk php code uit een string parsen. Vervolgens gebruik ik een truuk die de output opvangt en in een variabele zet. Dit is (als je dat stukje code eenmaal hebt) de simpelste manier.

Als je het wat netter wilt doen, moet je explode() gebruiken. Dit is ingewikkeld, en redelijk wat puzzelwerk, maar het kan wel. Je moet dan gewoon de verschillende opmaak stukjes eruit zien de splitten.

Even wat uitleg over het het exploden:

Stel, je hebt dit in het template bestand staan:
[code="html"]Dit is de template!
[LINK]<a class="buttons" href="[LINK_PAGE]">[LINK_NAME]</a>[/LINK]
En dit is het einde van de template![/code]

Vervolgens filter je de link opmaak er uit met explode():

[code="php"]$link_temp = explode('[LINK]',$template);
$link_temp = explode('[/LINK]',$link_temp[1]);[/code]

Dan heb je dus het stukje dat tussen [LINK] en [/LINK] staat. Vervolgens gebruik je een while die de linkjes uit de database haalt, en alle gegevens van die link str_replace()'d. Vergeet niet aan het einde van die while de uitkomst in een variabel te zetten, en die elke keer bij te werken, dus:

[code="php"]$link_string_temp = str_replace('[LINK_NAME]',$link_data->name,$link_temp[0]);
$link_string_temp = str_replace('[LINK_PAGE]','index.php?p='.$link_data->page_id,$link_string_temp);
$link_string = $link_string.$link_string_temp;[/code]

En vervolgens nog even alle linkjes via een str_replace() in de template zetten:
[code="php"]$template = str_replace('[LINK]'.$link_temp[0].'[/LINK]',$link_string,$template);[/code]

Hopelijk is het nu wat duidelijker?
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Menu in template parse systeem.

Berichtdoor Rik » 30 mei 2006 14:13

Heel erg bedankt. Very Happy
Volgens mij begrijp ik 't.
Nog even een controle dan maar. Razz
Hij haalt eerst die link opmaak eruit.
Daarna zet hij deze in een vartje.
Daarna zet hij de tekst en de url goed.
Dan plakt hij 't achter een var aan, wat 't uiteindelijke menu wordt.
En daarna verplaatst hij wat er staat als de linkdinges in de template door dat vartje met 't hele menu erin.
En dan poept hij 't uit met de rest van de template. Razz
Bedankt,

Bloe.

EDIT: Moet bij dat explode gedeelte, 2e regel niet $link_temp['0'] zijn?
Avatar gebruiker
Rik
wmpr
 
Berichten: 1576
Geregistreerd: 11 jun 2005 17:59

Re: Menu in template parse systeem.

Berichtdoor KillerSponge » 30 mei 2006 14:24

Nee, want dan zou je het gedeelte ervoor pakken, dus "Dit is de template!"
^^
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Menu in template parse systeem.

Berichtdoor Rik » 30 mei 2006 18:13

Aha, zo. Razz
Dus hij pleurt alles wat voor [LINK] staat in $link_temp['0'] en pleurt alles wat erachterstaat in $link_temp['1'].
Avatar gebruiker
Rik
wmpr
 
Berichten: 1576
Geregistreerd: 11 jun 2005 17:59

Re: Menu in template parse systeem.

Berichtdoor KillerSponge » 30 mei 2006 18:42

Ja, met explode split je een string in meerdere delen, en die delen worden gescheiden door het scheidingsteken dat je zelf mag opgeven, in dit geval dus [LINK]. Die gescheiden delen zet hij vervolgens in een array, en een array begint altijd bij 0, dus... Wink
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Menu in template parse systeem.

Berichtdoor LinkinTED » 30 mei 2006 23:25

Slicer nodig? ( xHTML | CSS | Semantische opbouw | Div )
http://www.iSlice.nl/
Avatar gebruiker
LinkinTED
wmpr
 
Berichten: 131
Geregistreerd: 14 jan 2006 16:47

Re: Menu in template parse systeem.

Berichtdoor Rik » 31 mei 2006 05:56

Kan ook, maar 't liefste wil ik alles zelf maken in deze CMS.
Alleen zal ik denk ik nog een BBCode Parser ergens anders vandaaan halen, want van preg_replace snap ik nog niet zoveel.
Avatar gebruiker
Rik
wmpr
 
Berichten: 1576
Geregistreerd: 11 jun 2005 17:59

Re: Menu in template parse systeem.

Berichtdoor KillerSponge » 31 mei 2006 07:49

BBcode parsers zijn idd belachelijk ingewikkeld... Wel een goede oefening als je dat preg_replace wilt leren Smile
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Menu in template parse systeem.

Berichtdoor Weeeyaa » 31 mei 2006 14:23

He bloe,

Hoe ben je aan al die kennis gekomen dat je een cms kunt maken?
wil ik ook Wink

bedankt,

Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Menu in template parse systeem.

Berichtdoor LinkinTED » 31 mei 2006 15:42

Slicer nodig? ( xHTML | CSS | Semantische opbouw | Div )
http://www.iSlice.nl/
Avatar gebruiker
LinkinTED
wmpr
 
Berichten: 131
Geregistreerd: 14 jan 2006 16:47

Re: Menu in template parse systeem.

Berichtdoor KillerSponge » 31 mei 2006 15:48

Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Menu in template parse systeem.

Berichtdoor Rik » 31 mei 2006 15:49

Avatar gebruiker
Rik
wmpr
 
Berichten: 1576
Geregistreerd: 11 jun 2005 17:59

Re: Menu in template parse systeem.

Berichtdoor Weeeyaa » 31 mei 2006 17:25

Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39


Keer terug naar PHP, ASP, SQL



cron