Hallo,

Hoe ziet mijn reguliere expressie eruit als ik in preg_match() alles tussen
 en 
wil hebben?
En dan ook alles tussen bijvoorbeeld
 en 
, dus hij moet niet hoofdlettergevoelig zijn (dus /i erachter (?)).

BVD,

Hellolo. :)
Met i idd
preg_match('#\[code\](.+?)\[/code\]#i',$data);
Ik zou si nemen. Niet alleen i
Dit script:
<?php
$input = "[b]Dit is dikgedrukt[/b]\n".
		 "[s]Dit is doorgestreept[/s]\n".
		 "[i]Dit is cursief[/i]\n".
		 "[u]Dit is onderstreept[/u]\n".
		 "[code]<?php\necho 'Dit is code';\n?>
\n".
"Dit is nog een stukje tekst.\n".
"
<?php\necho 'Nog meer code';\n?>
";
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Je bericht:<br />
<textarea name="bericht" cols="40" rows="20"><?php echo isset($_POST['bericht']) ? stripslashes($_POST['bericht']) : $input; ?></textarea><br />
<input type="submit" value="Verzend!">
</form>
<br />
<br />
<br />
<hr /><br />
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$bericht = $_POST['bericht'];
}else{
$bericht = $_POST['bericht'];
}
preg_match("#\[code\](.+?)\[/code\]#si", $bericht, $code);
//$bericht = preg_replace("#\[(b|strong)\](.*?)\[\/(b|strong)\]#si", "<strong>\\2</strong>", $bericht);
print_r($code);
?>[/code]

Geeft dit:
Array
(
[0] =>
<?php
echo \'Dit is code\';
?>

[1] => <?php
echo \'Dit is code\';
?>
)
Dus de inhoud is hetzelfde, en bij key 0 staat nog de [*code] en [*/code] erbij.
Hoe lost ik dat op?

BVD,

Hellolo.

Reageren