kostenloser Webspace werbefrei: lima-city


Austauschen von Zeichen..kleines Problem -.-

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    So ich will das....
    Diese BBcodes funzen xD
    Jedoch tauscht es nur immer einen BBcode vom jeweiligen aus und ich will halt alle austauschen.
    Irgendwas mache ich falsch, kann mir jemand sagen was und mir helfen, bitte.^^

    Hier ein Beispiel:
    http://garlian.omegaspace.de/beispiel.php

    Hier der Code:
    <?php
    //Fett
    $lexika_replace = '/\[b\](.*?)\[\/b\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[b\](.*)\[/b\]", "<b>$lex_bb_replace</b>", $text_a);
    
    //Kursiv
    $lexika_replace = '/\[i\](.*?)\[\/i\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[i\](.*)\[/i\]", "<i>$lex_bb_replace</i>", $text_a);
    
    //Unterstrichen
    $lexika_replace = '/\[u\](.*?)\[\/u\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[u\](.*)\[/u\]", "<u>$lex_bb_replace</u>", $text_a);
    
    //Link
    $lexika_replace = '/\[url\](.*?)\[\/url\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $lex_bb_replace = str_ireplace("http://","",$lex_bb_replace);
    $text_a = eregi_replace("\[url\]","<a href='http://$lex_bb_replace' target='_blank'>",$text_a);
    $text_a = eregi_replace("\[/url\]","</a>",$text_a);
    
    //Bild
    $lexika_replace = '/\[img\](.*?)\[\/img\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[img\](.*)\[/img\]", "<div style='float:right;'><img src='$lex_bb_replace' alt='$lex_bb_replace'></img></div>", $text_a);
    
    //Liste <ul>
    $lexika_replace = '/\[list\](.*?)\[\/list\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace_ = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[list\](.*)\[/list\]", "<ul>$lex_bb_replace</ul>", $text_a);
    
    echo $lex_bb_replace_;
    
    //Liste <li>
    $lexika_replace = '/\[li\](.*?)\[\/li\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[li\](.*)\[/li\]", "<li>$lex_bb_replace</li>", $text_a);
    
    //Zitat
    $lexika_replace = '/\[cit=(.*?)\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace_zitator = $lexika_replace_matches[1];
    
    $lexika_replace = '/\](.*?)\[\/cit\]/i';
    if(!preg_match($lexika_replace, $text_a, $lexika_replace_matches));
    $lex_bb_replace = $lexika_replace_matches[1];
    $text_a = eregi_replace("\[cit=$lex_bb_replace_zitator\](.*)\[/cit\]", "<div style='float:left; border-bottom:1px solid #E0C8A4; width:100%;font-family:verdana;font-size:8px;'><b>Zitat von:</b>&nbsp;$lex_bb_replace_zitator</div><div style='float:left; border-bottom:1px solid #E0C8A4; width:98%; padding:1%;font-family:verdana;font-size:9px;font-style:italic;'>\"$lex_bb_replace\"</div>", $text_a);
    
    //Linie
    $text_a = str_ireplace("[linie]", "<div style='float:left;width:100%;border:1px solid black;'></div>", $text_a);
    ?>


    Beitrag geändert: 6.7.2007 13:23:57 von garlian
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Die Funktion preg_match findet nur jeweils das erste Vorkommen eines Strings, das ist das Problem. Mit preg_match_all werden alle Vorkommen gefunden und in einem Array abgelegt. Das Array müsstest du dann in einer Schleife durchgehn.
    Aber warum verwendest du nicht gleich preg_replace?
  4. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    Hmm..

    Ohne die hochkommatas in dem bbcode
    <?php
    $zeichenkette = "Beispiel ["u]unterstrichen[/"u] und des zweite ["u]unterstrichen[/"u]";
    
    $suchmuster   = "/["u](.*)[\/"u\]/";
    
    $ersetzung    = "<u>Woher kriege ich den Inhalt? preg_match_all?</u>";
    
    $ausgabe      = preg_replace($suchmuster, $ersetzung, $zeichenkette);
    
    echo $ausgabe;
    ?>

    Ein Beispiel deinerseits wäre nit schlecht^^


    Beitrag geändert: 6.7.2007 14:06:43 von garlian
  5. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    So vielen Dank tct xDDD
    Ich voll spacken könnte mich selbst ohrfeigen xDDD

    preg_replace ist echt ne hammer funktion xDD

    Nach intensiven Studien über reguläre Ausdrücke *hust* *schämen tut*
    Habe ich eine kleinigkeit entdeckt die Berge bewegt hat xDDD

    $1,$2...usw. xDDDD

    Der Thread kann geschlossen werden, problem wurde blendend gelöst xDD

    Beitrag geändert: 7.7.2007 18:22:58 von garlian
  6. Freut mich.
    Ich hätte dir schon noch ein Beispiel geben können, aber ich konnte grade zwei Tage nicht online gehn. Sorry.
  7. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    Solange sich die Antwort gefunden hat ist des doch nit schlimm^^
  8. Stimmt. Aber ich wollte nicht unhöflich erscheinen, deshalb meine Entschuldigung.
  9. 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!