Hoi allemaal,

Ik heb een probleem, ben hier al 2 dagen mee bezig (avonden) maar ik kom er NIET uit :(

Wat ik probeer te doen:

Ik heb een template file waar ik een tag in heb staan met een soort van code woord, [INCLUDE-pagina.html].

Het eerste stuk "INCLUDE" moet door een preg_match_all eruit worden gehaald en in een array worden gestopt.
Dit lukt redelijk maar toch krijg ik een bracket mee, wat ik niet wil! :(


Ik wil dus een pattern hebben waarbij ik alle 2 de waardes kan uitlezen.

Deze waardes wil ik dus terug krijgen...

INCLUDE
pagina.html

Als jullie me kunnen helpen met het pattern dan kan ik ze zelf wel scheiden dmv een explode op het streepje.

Thanx alvast, en hopelijk kan ik na vanaaf verder :P
Heb meerdere dingen opgezocht over de patterns enzo maar mocht niet baten helaas.



Voorbeeld van mijn code:


<?php

$output = 'gfhfgjhddfj [INCLUDE-pagina.html] dfhgfhgfh';

preg_match_all("/\[.*?]/", $output, $out);

foreach($out[0] as $key => $value){
	
	$var = explode("-", $value);
}

?>
en hoe ziet de var_dump eruit van de array?

<?php
$output = 'gfhfgjhddfj [INCLUDE-pagina.html] dfhgfhgfh';

preg_match('/\[([A-Z]+)-([a-z]+)\.(html|phtml|tpl)\]/i', $output, $matches);

//output Array ( [0] => [INCLUDE-pagina.html] [1] => INCLUDE [2] => pagina [3] => html )
?>
<?php
$output = 'gfhfgjhddfj [INCLUDE-pagina.html] dfhgfhgfh';

preg_match('/\[([A-Z]+)-([a-z]+)\.(html|phtml|tpl)\]/i', 

$output, $matches);

var_dump($matches);
echo $matches[1].'-'.$matches[2].'.'.$matches[3];
?>
Als je het zo doet krijg ik alleen maar "INCLUDE-pagina.html"
Terug. Weet niet of het precies is wat je zoekt....
Bas van de Steeg op 07/04/2012 09:30:54

<?php
$output = 'gfhfgjhddfj [INCLUDE-pagina.html] dfhgfhgfh';

preg_match('/\[([A-Z]+)-([a-z]+)\.(html|phtml|tpl)\]/i', 

$output, $matches);

var_dump($matches);
echo $matches[1].'-'.$matches[2].'.'.$matches[3];
?>
Als je het zo doet krijg ik alleen maar "INCLUDE-pagina.html"
Terug. Weet niet of het precies is wat je zoekt....


Ja precies wat jij doet wil ik niet :P
$matches[1].'-'.$matches[2].'.'.$matches[3]

Ik wil dat [2] en [3] in 1 variabele zitten, dat ik dus pagina.html in [2] zit.

Reageren