27. september 2008 - 11:39Der er
1 kommentar og 1 løsning
Regulære udtryk - quote-funktion i forum
Hej alle sammen!
Jeg har nu stirret mig blind på noget kode, hvor jeg har ladet mig inspirere herinde, men det virker ikke helt efter hensigten. Derfor søger jeg nu jeres hjælp.
[quote id=0 user=1] [quote id=0 user=1] test [quote id=0 user=1] test [/quote] test [/quote] test [/quote]
skal ændres til noget lign. følgende. Brugernavnet kan findes vha. funktionen brugernavn($id) og datoen kan findes af postDato($id).
<div class="quote"> <span class="quoteinfo">Skrevet af. X d. Y</span><br> <div class="quote"> <span class="quoteinfo">Skrevet af. X d. Y</span><br> test <div class="quote"> <span class="quoteinfo">Skrevet af. X d. Y</span><br> test </div> test </div> test </div>
function brugernavn($id) { return "Frank"; } function postDato($id) { return '27. september 2008'; } $input = ' [quote id=0 user=3] [quote id=0 user=1] test [quote id=0 user=1] test [/quote] test [/quote] test [/quote]';
do { $tmp = $input; $input = preg_replace("/\[quote id=([0-9]+) user=([0-9]+)\]([^\[]+)\[\/quote\]/e","\"<div class=\\\"quote\\\"> <span class=\\\"quoteinfo\\\">Skrevet d. \".(postDato($1)).\" af \".(brugernavn($2)).\"</span><br />$3</div>\"",$input,-1,$count); } while($tmp != $input); print $input;
?>
funktionerne brugernavn og postDato kan du naturligvis blot erstatte med dine egne funktioner.
Resultatet af ovenstående kode vil være:
<div class="quote"> <span class="quoteinfo">Skrevet d. 27. september 2008 af Frank</span><br /> <div class="quote"> <span class="quoteinfo">Skrevet d. 27. september 2008 af Frank</span><br /> test <div class="quote"> <span class="quoteinfo">Skrevet d. 27. september 2008 af Frank</span><br /> test </div> test </div> test </div>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.