wie funzt der ubb / vB code??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wie funzt der ubb / vB code??

    ^^ ich möchte ein newssystem schreiben und dort soll man sowas wie das mit "[ URL ]" [eigentlich brauch ich nur das für links] im codeschnipsel bereich gibts zwar sowas aber das gefällt mir ned!! :P

    SOFARJOAT
    the end comes faster than you think - you've already reached it!

  • #2
    Das geht mit regulären Ausdrücken. Ich poste dir mal die Suchmuster. Allein kommt man da ja nie drauf (jedenfalls bei URL oder so)..

    EDIT: Mist, du musst alle { durch [ und alle } durch ] ersetzen, sorry.
    PHP-Code:
    $search[]="/\{B}(.*)\{\/B}/siU";
    $replace[]="<b>\\1</b>";
    $search[]="/\{i}(.*)\{\/i}/siU";
    $replace[]="<i>\\1</i>";
    $search[]="/([^]_a-z0-9-="'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`"'\|\[\]\{\};<>]*)/si";
    $replace[]="\\1<a href='\\2\\4'>\\2\\4</a>";
    $search[]="/\{url}([^"]*)\{\/url\}/siU";
    $replace[]="<a href="\\1" target="_blank">\\1</a>";
    $search[]="/\{url=(['"]?)([^"']*)\1}(.*)\{\/url\}/siU";
    $replace[]="<a href="\\2" target="_blank">\\3</a>";


    $text "hallo {B}fett{/B} <br> {ur}]http://www.yahoo.de{/url} <br> ";
    $text .= "{url=http://www.web.de}[url]http://www.web.de[/url]{/url} <br> ";
    $text .= "{i}kursiv{/I} <br> ";
    $text .= "{B}nochmal fett{/B} <br> dd <br> ";
    $text .= "{url}link{/url}";

    echo 
    parse($text);

    function 
    parse($text)
    {
        global 
    $search,$replace;
        
    reset($search);
        
    reset($replace);
        
    $text preg_replace($search,$replace,$text);
        return 
    $text;

    Zuletzt geändert von Troublegum; 02.04.2002, 12:07.
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      also bei mir im forum mach ich das so:
      PHP-Code:
      function ubb($msg)
              {
              global 
      $link;
              
      $msg str_replace("[hr]","<hr>",$msg);

              
      $msg str_replace("[b]","<b>",$msg);
              
      $msg str_replace("[/b]","</b>",$msg);

              
      $msg str_replace("[i]","<i>",$msg);
              
      $msg str_replace("[/i]","</i>",$msg);

              
      $msg str_replace("[img]","<image border=0 src=",$msg);
              
      $msg str_replace("[/img]",">",$msg);

              
      // [URL]
              
      $msg=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=_blank>\\1</a>",$msg);
              
      $msg=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\1</a>",$msg);

              
      // [URL=
              #$msg=eregi_replace("\\[url=\"([^\"]*)\"\\]([^\\[]*)\\[\\/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$msg);
              
      $msg=eregi_replace("\\[url=([^\"]*)\\]([^\\[]*)\\[\\/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$msg);
              
      // [quote]
              
      $msg=eregi_replace("\\[quote\\]([^\\[]*)\\[/quote\\]","<BLOCKQUOTE><font size=\"1\" face=\"Verdana, Arial\">[Quote:]</font><hr><i>\\1</i><hr></BLOCKQUOTE>",$msg);
              
      //[code]

              
      $msg=eregi_replace("\\[code\\]([^\\[]*)\\[/code\\]","<pre>\\1</pre>",$msg);

              
      $msg=eregi_replace("\\[email\\]([^\\[]*)\\[/email\\]","<a href=\"mailto:\\1\">\\1</a>",$msg);

              return 
      $msg;
              } 

      Kommentar


      • #4
        @ Troublegum

        da is irgendwo n fehler drinn!!

        @ Trashar

        geht auch ned bekomm nur ne leere sete zurück!!!

        sofarjoat
        the end comes faster than you think - you've already reached it!

        Kommentar


        • #5
          wie haste das den gemacht???


          PHP-Code:
          $text "Hallo schaut mal auf [ url]http://www.phpundperl.de[/url ].";

          $text ubb($text);

          print 
          $text
          EDIT: ANMERKUNG hab an den [url] tags mal lerrezichen eingefügt weil das forum die immer in ganze addy geändert hat...
          Zuletzt geändert von Trashar; 03.04.2002, 00:25.

          Kommentar


          • #6
            Sorry, das Forum hat den Code gefressen
            Aber nochmal als Anlage. Das geht..
            Angehängte Dateien
            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

            © Harald Schmidt

            Kommentar


            • #7
              jo THX jez gehts!!

              nur noch eine frage: Was is besser den text mit ubb code in ne tabelle schreiben oder schon formatiert in die tabelle schreiben??

              SOFARJOAT
              the end comes faster than you think - you've already reached it!

              Kommentar


              • #8
                Original geschrieben von JOat
                jo THX jez gehts!!

                nur noch eine frage: Was is besser den text mit ubb code in ne tabelle schreiben oder schon formatiert in die tabelle schreiben??

                SOFARJOAT
                Was für ne Tabelle ?
                Datenbank ?

                Wenn du den Text speichern musst, dann unbedingt unverändert. Nur die Ausgabe wird verändert.
                [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                © Harald Schmidt

                Kommentar


                • #9
                  jo das ganze soll ine datenbank!!

                  Aber das werd ich schon schaffen!!

                  SOFARANDTHXJOAT
                  the end comes faster than you think - you've already reached it!

                  Kommentar


                  • #10
                    ich bin doch zu doof!!!

                    Code:
                    <?
                    
                    
                    $search[]="/\[B](.*)\[\/B]/siU";
                    $replace[]="<b>\\1</b>";
                    $search[]="/\[i](.*)\[\/i]/siU";
                    $replace[]="<i>\\1</i>";
                    $search[]="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
                    $replace[]="\\1<a href='\\2\\4' target='_blank'>\\2\\4</a>";
                    $search[]="/\[url]([^\"]*)\[\/url\]/siU";
                    $replace[]="<a href='\\1' target='_blank'>\\1</a>";
                    $search[]="/\[url=(['\"]?)([^\"']*)\\1](.*)\[\/url\]/siU";
                    $replace[]="<a href='\\1' target='_blank'>\\2</a>";
                    
                    
                    echo parse($text);
                    
                    function parse($text)
                    {
                    	global $search,$replace;
                    	reset($search);
                    	reset($replace);
                    	$text = preg_replace($search,$replace,$text);
                    	return $text;
                    
                    }
                    
                    require ("contact.php3");
                    
                    //--- DB AUSWÄHLEN -------------------------------------------
                    $news = mysql_query("select * from news order by id DESC");
                    
                    
                    while ( $newsanzeigen= mysql_fetch_array( $news ) )
                      {
                    
                    
                    
                    ?>
                    <div align="center">
                      <center>
                    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="60%" id="AutoNumber2">
                    <tr>
                    <td width="17%"><font size="5"><? print "". $newsanzeigen[time] .""; ?></font></td>
                    <td width="46%"><font face="Verdana" size="4"><? print "". $newsanzeigen[titel] .""; ?></font></td>
                    </tr>
                    <tr>
                    <td width="63%" colspan="2"><br>
                    <?
                    $text = $newsanzeigen[text];
                    
                    echo $text; ?></td>
                    </tr>
                    </table>
                    <br><p><br>
                    <? } ?>
                    es soll der inhalt von $newsanzeigen[text] mit dem code formatiert werden der inhlat liegt im ubb code vor!!

                    SOFARJOAT
                    Angehängte Dateien
                    the end comes faster than you think - you've already reached it!

                    Kommentar


                    • #11
                      du musst text doch erst durch die funktion laufen lassen:

                      Code:
                      <?
                      $text = parse($newsanzeigen[text]);
                      
                      echo $text; ?></td>
                      so sollte es gehn

                      Kommentar


                      • #12
                        jo bigbig THX es funzt!!



                        SOFARJOAT
                        the end comes faster than you think - you've already reached it!

                        Kommentar


                        • #13
                          Also bei mir kommt nur das Raus wenn ich es so mache wie Trasher beschrieben hat:

                          Hallo schaut mal auf .

                          Ich habe den Code so in eine Seite geschrieben:
                          [code]
                          <?php
                          function ubb($msg)
                          {
                          global $link;
                          $msg = str_replace("[hr]","<hr>",$msg);

                          $msg = str_replace("","<b>",$msg);
                          $msg = str_replace("","</b>",$msg);

                          $msg = str_replace("","<i>",$msg);
                          $msg = str_replace("","</i>",$msg);

                          $msg = str_replace("[img]","<image border=0 src=",$msg);
                          $msg = str_replace("[/img]",">",$msg);

                          // [URL]
                          $msg=eregi_replace("\[url\]www.([^\[]*)\[/url\]","<a href=\"http://www.\1\" target=_blank>\1</a>",$msg);
                          $msg=eregi_replace("\[url\]([^\[]*)\[/url\]","<a href=\"\1\" target=_blank>\1</a>",$msg);

                          // [URL=
                          #$msg=eregi_replace("\[url=\"([^\"]*)\"\]([^\[]*)\[\/url\]","<a href=\"\1\" target=_blank>\2</a>",$msg);
                          $msg=eregi_replace("\[url=([^\"]*)\]([^\[]*)\[\/url\]","<a href=\"\1\" target=_blank>\2</a>",$msg);
                          // [quote]
                          $msg=eregi_replace("\[quote\]([^\[]*)\[/quote\]","<BLOCKQUOTE><font size=\"1\" face=\"Verdana, Arial\">[Quote:]</font><hr><i>\1</i><hr></BLOCKQUOTE>",$msg);
                          //
                          Code:
                                  $msg=eregi_replace("\[code\]([^\[]*)\[/code\]","<pre>\1</pre>",$msg);
                          
                                  $msg=eregi_replace("\[email\]([^\[]*)\[/email\]","<a href=\"mailto:\1\">\1</a>",$msg);
                          
                                  return $msg;
                                  }
                          
                          $text = "Hallo schaut mal auf [url ]http://www.phpundperl.de[ /url].";
                          // wobei ich diese Leerzeiche netfernt habe bei url und /url
                          
                          $text = ubb($text);
                          
                          print $text;
                          ?>
                          Was ist Falsch?
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            ich weis nicht ob das board den code irgentwie kapuit macht, deswegen häng ich den source noch mal als datei an!!!

                            einfach in php umbenenen und ausführen über den browser =)
                            Angehängte Dateien

                            Kommentar


                            • #15
                              Schau dir mal die Datei an. Die ist total zerhackt. Mach mal das Script so fertig und häng es mal als zip an.
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X