login  Naam:   Wachtwoord: 
Registreer je!
 Forum

UBB: Quote in Quote (Opgelost)

Offline DRW - 03/12/2008 11:54 (laatste wijziging 03/12/2008 12:12)
Avatar van DRWNieuw lid Ik heb een UBB scriptje waarin ik een quote functie gemaakt heb. Echter is het niet mogelijk om [Quote ][Quote ]Hoi[/Quote]Hoi[ /Quote] te doen, hij voert enkel de binnenste tags uit. Is er een manier om alle tags te laten werken?

  1. <?
  2. $extra = eregi_replace("\\[QUOTE([^\\[]*)\\]([^\\[]*)\\[/QUOTE\\]","
  3. <table style=\"border: 1px solid; border-color: #444444; background-color: #222222;\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\" width=\"80%\">
  4. <tr><td><b>Quote:</b></td></tr>
  5. <tr><td>\\2</td></tr>
  6. </table>
  7. ",$extra);
  8. ?>

2 antwoorden

Gesponsorde links
Offline Martijn - 03/12/2008 12:06
Avatar van Martijn Crew PHP
  1. $string = preg_replace("#\\[quote\\](.*)\\[quote\\](.*)\\[/quote\\](.*)\\[/quote\\]#","[quote]\\1 [...quote...] \\3[/quote]",$string);


t kan ook met een callback functie. Deze werkt tot 1 quote in quote
Offline Richard - 03/12/2008 18:52
Avatar van Richard Crew algemeen
  1. <?php
  2. function renderQuotes($text) {
  3. $functionName = __FUNCTION__;
  4. // als het een match is van preg_replace_callback
  5. if(is_array($text)) {
  6. // hier de verwerking van een quote eromheen
  7.  
  8. return '<blockquote>' . $functionName($text[1]) . '</blockquote>';
  9. } else {
  10. // hier heb je directe input, return met preg_replace_callback
  11. return preg_replace_callback('~\[quote]((?:(?R)|.)+?)(?:\[/quote]|$)~si', $functionName, $text);
  12. }
  13. }
  14.  
  15. echo renderQuotes('[quote]bla[quote]bla[/quote]bla[/quote]');
  16. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s