kostenloser Webspace werbefrei: lima-city


Quote - Funktion bringt den Server zum Absturz

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n********r

    Hallo,

    ich benutze folgende Quote - Funktion:

    function quote($quote)
     {
      $regex = '#\[ quote]((?:[^[]|\[(?!/?quote])|(?R))+)\[/ quote]#';
      if (is_array($quote)) {
       $quote = '<center><div id=quote><b>Zitat</b>: <br><br>'.$quote[1].'</div></center>';
      }
      return preg_replace_callback($regex, 'quote', $quote); 
    }


    Aber wenn der Posts eine bestimmte länge überschreite bringt diese Funktion den Server zum absturtz.
    So rufe ich die funktion auf:

    quote(bbcode(smilies($a_row['post']))


    Und jedesmal schmiert mir der Server ab.
    Aber warum?

    Beitrag geändert: 12.11.2006 10:53:28 von newwarrior

    Beitrag geändert: 12.11.2006 10:53:59 von newwarrior
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Welche Fehlermeldung kommt denn?

    Sweit ich weiß, sind die Funktionen sehr Rechenaufwendig. Außerdem rufst du in einer Zeile DREI Funktionen auf.

    Ich schätze mal du rkeigst den MaxExecutionTime-Fehler, der besagt, dass die zeit, die dem Script zum ausführen freigestellt ist überschrtten wurde. (Bei Lima 30s soweit ich weiß)

    Das beugt gegen endlos Schleifen und fehlerhaften Code vor, der den Server sonst überaus überölasten würde.


    Wie gesagt, geb uns vielleicht mal den Link zur Seite, den Quälcode der Drei Funktionen (bbcode, quote, smilies) und die Fehlermeldung.
  4. Autor dieses Themas

    n********r

    Ok,

    hier mal die Quellcodes:

    [bbcode / quote]

    <?php
      function bbcode ($bbcode){
        $search  = array( 
                  '`\[b\](.*)\[\/b\]`Usi',  
                  '`\[center\](.*)\[\/center\]`Usi',
                  '`\[u\](.*)\[\/u\]`Usi', 
                  '`\[i\](.*)\[\/i\]`Usi',
                  '`\[s\](.*)\[\/s\]`Usi',
                  '`\[url\](.*)\[\/url\]`Usi',
                  '`\[img\](.*)\[\/img\]`Usi',
                  '`\[email\](.*)\[\/email\]`Usi',
                  '`\[color=(.*)\](.*)\[\/color\]`Usi',
                  '`\[size=(.*)\](.*)\[\/size\]`Usi',
              ); 
    
        $replace = array( 
                  '<b>\\1</b>',
                  '<center>\\1</center>',
                  '<u>\\1</u>',
                  '<i>\\1</i>',
                  '<s>\\1</s>',
                  '<a href=\\1 target=_blank>\\1</a>',
                  '<center><div id=img><a href=\\1 target=_blank><img border=0 src=\\1></a></div></center>',
                  '<a href=mailto:\\1>\\1</a>',
                  '<span style=color:\\1;>\\2</span>',
                  '<span style=font-size:\\1px;>\\2</span>',
                  '<center><div id=code_header>Code:</div><div id=code_content>\\1</div></center>');
        $bbcode = preg_replace($search, $replace, $bbcode);
        $bbcode = nl2br($bbcode);
    
        return $bbcode;
      } 
    
    
    function quote($quote)
     {
      $regex = '#\[quote]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote]#';
    
      if (is_array($quote)) {
       $quote = '<center><div id=quote><b>Zitat</b>: <br><br>'.$quote[1].'</div></center>';
      }
      return preg_replace_callback($regex, 'quote', $quote); 
    }
    ?>


    [smilies]

    <?php
    function smilies ($smilies)
    {
    $smilies= str_replace(":badgrin:","<img border=\"0\" src=\"images/yellow/badgrin.gif\">",$smilies);
    $smilies= str_replace(":biggrin:","<img border=\"0\" src=\"images/yellow/biggrin.gif\">",$smilies);
    $smilies= str_replace(":confused:","<img border=\"0\" src=\"images/yellow/confused.gif\">",$smilies);
    $smilies= str_replace(":cool:","<img border=\"0\" src=\"images/yellow/cool.gif\">",$smilies);
    $smilies= str_replace(":cry:","<img border=\"0\" src=\"images/yellow/cry.gif\">",$smilies);
    $smilies= str_replace(":doubt:","<img border=\"0\" src=\"images/yellow/doubt.gif\">",$smilies);
    $smilies= str_replace(":lol:","<img border=\"0\" src=\"images/yellow/lol.gif\">",$smilies);
    $smilies= str_replace(":mad:","<img border=\"0\" src=\"images/yellow/mad.gif\">",$smilies);
    $smilies= str_replace(":neutral:","<img border=\"0\" src=\"images/yellow/neutral.gif\">",$smilies);
    $smilies= str_replace(":razz:","<img border=\"0\" src=\"images/yellow/razz.gif\">",$smilies);
    $smilies= str_replace(":redface:","<img border=\"0\" src=\"images/yellow/redface.gif\">",$smilies);
    $smilies= str_replace(":rolleyes:","<img border=\"0\" src=\"images/yellow/rolleyes.gif\">",$smilies);
    $smilies= str_replace(":sad:","<img border=\"0\" src=\"images/yellow/sad.gif\">",$smilies);
    $smilies= str_replace(":shock:","<img border=\"0\" src=\"images/yellow/shock.gif\">",$smilies);
    $smilies= str_replace(":smile:","<img border=\"0\" src=\"images/yellow/smile.gif\">",$smilies);
    $smilies= str_replace(":surprised:","<img border=\"0\" src=\"images/yellow/surprised.gif\">",$smilies);
    $smilies= str_replace(":wink:","<img border=\"0\" src=\"images/yellow/wink.gif\">",$smilies);
    
    return $smilies;
    }
    ?>


    Vom Firefox bekomme ich folgende Meldung: Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde.

    Hier der Link:

    http://newwarrior.lima-city.de/jugend/index.php?action=board&topic_id=1

    Dauert aber noch ein mom muss sie gerade hochladen

    LOL ich habe gerade festgestallt bei lima macht er es und bei mir zuhause nicht.

    Beitrag geändert: 12.11.2006 11:21:19 von newwarrior
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!