preg_match(): Alles tusen [code] en [/code]
Hellolo
11/02/2006 19:32:00Hallo,
Hoe ziet mijn reguliere expressie eruit als ik in preg_match() alles tussen wil hebben?
En dan ook alles tussen bijvoorbeeld
Hoe ziet mijn reguliere expressie eruit als ik in preg_match() alles tussen wil hebben?
En dan ook alles tussen bijvoorbeeld
PHP hulp
16/11/2024 06:52:38Han eev
11/02/2006 19:40:00Hellolo
11/02/2006 21:38:00Dit script:
Geeft dit:
Array
(
[0] =>
[1] =>
)
Dus de inhoud is hetzelfde, en bij key 0 staat nog de [*code] en [*/code] erbij.
Hoe lost ik dat op?
BVD,
Hellolo.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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".
"<?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);
?>
$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".
"<?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);
?>
Geeft dit:
Array
(
[0] =>
[1] =>
)
Dus de inhoud is hetzelfde, en bij key 0 staat nog de [*code] en [*/code] erbij.
Hoe lost ik dat op?
BVD,
Hellolo.
Hellolo
11/02/2006 22:29:00Ow. De code ziet er hier een beetje gaar uit (+ bug in PHPHulp?), dus ik heb hem even hier neer gezet:
http://www.sigtalking.com/ubb.php
http://www.sigtalking.com/ubb.php