<?php in [ubb]
Robert Deiman
11/10/2008 15:40:00Hoi allemaal, ik ben bezig met een UBB parser om regexes te leren. dikgedrukt en dergelijke is allemaal geen probleem, maar ik kom er niet uit met PHP binnen de regex.
Hij gooit de hele boel steeds door elkaar, waardoor kom ik niet achter nog. (de php string komt steeds vooraan te staan en niet op de plek waar die zou moeten)
Voorbeeld van output:
http://www.robertdeiman.net/phphulp/ubb.php
Hij gooit de hele boel steeds door elkaar, waardoor kom ik niet achter nog. (de php string komt steeds vooraan te staan en niet op de plek waar die zou moeten)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/**
* @author Robert Deiman
* @company Prodes
* @copyright 2008
*/
$bericht = 'bladiebla
[b]Dikgedrukt[/b]
<?
//dit is een voorbeeld van een php stukje;
function_test($variabele){
return $variabele;
}
?>
[i]Cursief[/i]
bladiebla';
$bericht = preg_replace('#\<\?(.*?)\?>#ise',"highlight_string('<?php \\1 ?>')",$bericht);
$bericht = preg_replace('#\[b\](.+?)\[/b\]#is','<strong>\\1</strong>',$bericht);
$bericht = preg_replace('#\[i\](.+?)\[/i\]#is','<em>\\1</em>',$bericht);
echo $bericht;
?>
/**
* @author Robert Deiman
* @company Prodes
* @copyright 2008
*/
$bericht = 'bladiebla
[b]Dikgedrukt[/b]
<?
//dit is een voorbeeld van een php stukje;
function_test($variabele){
return $variabele;
}
?>
[i]Cursief[/i]
bladiebla';
$bericht = preg_replace('#\<\?(.*?)\?>#ise',"highlight_string('<?php \\1 ?>')",$bericht);
$bericht = preg_replace('#\[b\](.+?)\[/b\]#is','<strong>\\1</strong>',$bericht);
$bericht = preg_replace('#\[i\](.+?)\[/i\]#is','<em>\\1</em>',$bericht);
echo $bericht;
?>
Voorbeeld van output:
http://www.robertdeiman.net/phphulp/ubb.php
edit:
De vraag voor de duidelijkheid:
Hoe zorg ik dat de php code wel op de juiste plek blijft staan?
Hoe zorg ik dat de php code wel op de juiste plek blijft staan?
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
PHP hulp
23/12/2024 18:24:53Joren de Wit
11/10/2008 15:49:00Dat komt door de functie highlight_string(), deze output het resultaat direct. Geef de boolean true als tweede parameter aan deze functie mee, dan zal het resultaat als string teruggegeven worden, precies zoals jij wilt.
Zie ook: highlight_string
Zie ook: highlight_string
Robert Deiman
11/10/2008 15:51:00Super, dankjewel.. :)
Het is toch makkelijker dan ik dacht, maar heb echt lopen zoeken om het te vinden.
Het is toch makkelijker dan ik dacht, maar heb echt lopen zoeken om het te vinden.