Ankündigung

Einklappen
Keine Ankündigung bisher.

Code für beliebigen String

Einklappen

Neue Werbung 2019

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

  • Code für beliebigen String

    Hallo zusammen..
    Ich schreibe gerade an einer PHP-Wiki
    und arbeite momentan an den Formatierungen.

    Es soll so sein, dass z.B. **test** test ergibt

    So: Und hier beginnt mein Problem:

    Ich habe dies in den Code geschrieben

    Code:
     
    <?php 
    $InterpretedString = ereg_replace("**(.*?)**", "\1", $Line);	
    ?>
    Hab den Code von einem Freund von mir, er geht aber
    leider nicht. Er produziert folgende Fehlermeldung:

    Warning: ereg_replace(): REG_BADRPT in [...] on line 2

    Was hab ich falsch gemacht ?

    Danke im Vorraus
    Gruss
    Fabian

  • #2
    versuch es mal so:
    Code:
    <?php 
    $InterpretedString = ereg_replace("\*\*(.*)\*\*", "\1", $Line);    
    ?>
    guck auch mal hier nach: http://www.phpfriend.de/ftopic15351.html

    Kommentar


    • #3
      Geht irgendwie nicht..
      Die Variable $InterpretedString scheint leer zu sein

      gruss
      Fabian

      Kommentar


      • #4
        machs dochmit preg_replace
        Code:
        <?php 
            $var = "**test**";
            $var = preg_replace("#\*\*(.*?)\*\*#", "\\1", $var);
                echo $var;
        ?>
        gibt test aus.

        Kommentar


        • #5
          Ok.. tausend dank
          nur noch ne frage: was bewirken die ganzen
          zeichen, wie # und \ ?

          gruss
          Fabian[/quote]

          Kommentar


          • #6
            # leitet den/die/das pattern ein bzw. schließt es ab. \ escaped die sternchen, da preg_replace diese sonst als " 0 or more quantifier" erkennen würde.

            Kommentar


            • #7
              ok.. vielen dank..

              gruss
              Fabian
              --------------
              Ich bin auch nicht John Wayne

              Kommentar


              • #8
                Für derart einfache Ersetzungen sollte man besser str_replace nehmen, diese Funktion ist schneller
                Code:
                $var = "***test***";
                $var = str_replace ("*","", $var);
                Gruß
                phpfan

                Kommentar


                • #9
                  Ähm, phpfan, anstelle von »test« soll sicher auch beliebiger Text stehen können, außerdem möchte er voran- und dahinterstellen ...

                  Kommentar


                  • #10
                    naja phpfan hat schon recht. die funktion ersetzt ja nur die sternchen durch nichts
                    und damits fett geschrieben wird, muss man statt $var einfach "$var" schreiben.

                    Kommentar


                    • #11
                      dann wird aber der ganze inhalt der variable fett ausgegeben obwohl vielleicht nur ein wort fett sein soll
                      da das einleitungs-tag und das end-tag bei seinem"bb-code" das selbe sind ist es mit str_replace nicht zu lösen, aber die eigentliche lösung war ja sowieso schon gefunden

                      Kommentar

                      Lädt...
                      X