Versio

<?php in [ubb]

Overzicht Reageren

Robert Deiman

Robert Deiman

11/10/2008 15:40:00
Quote Anchor link
Hoi 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)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>


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?
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
PHP hulp

PHP hulp

25/05/2012 10:30:30
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Joren de Wit
Beheerder

Joren de Wit

11/10/2008 15:49:00
Quote Anchor link
Dat 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
 
Robert Deiman

Robert Deiman

11/10/2008 15:51:00
Quote Anchor link
Super, dankjewel.. :)

Het is toch makkelijker dan ik dacht, maar heb echt lopen zoeken om het te vinden.
 



Overzicht Reageren