Formatierung von Text - _fett *kursiv etc.

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

  • Formatierung von Text - _fett *kursiv etc.

    Hallo,

    ich habe (mal wieder) ein Problem, wenn auch für euch ein wahrscheinlich nur so kleines, für mich ist es dagegen schon ein grösseres, da ich irgendwie gerade keine Lösung parat habe. Es geht um folgendes, ich möchte gern das meine Chatter ihre Texte formatieren können, wenn also jemand schreibt

    _test_ soll es fett sein, oder *test* kursiv... wie das ganze geht wurde ja schon mehrfach im Forum und woanders besprochen und ich weiss auch das ich die mit str/ereg_replace mache, aber wie sieht es aus, wenn ein chatter NUR

    *hallo schreibt? Dann ist der ganze String nämlich nicht kursiv, weil nur dieses eine * erkannt wird...ich bräuchte nun also eine Möglichkeit, wie ich Texte so formatieren kann das beim ersten mal wenn das zeichen kommt immer <i> bzw. <b> etc. gemacht wird beim zweiten male immer </b> bzw. </i> etc. ich könnte zwar nun * ganz normal zu <i> umwandeln, aber ich bräuchte quasi genau des gleiche dann auch für </i>...also geht des so nicht...ich hoffe, ihr könnt mir noch folgen?!

    Ich müsste irgendwie in meinem Text * ersetzen und zwar durch <i> und durch </i>, aber die Formatierung muss auch greifen, wenn jemand nur *hallo schreibt...jedoch sollte sie sich mit einem zweiten * auch wieder schliessen mittels </i>...irgendwie weiss ich jedoch nicht, wie ich das ganze hinbekomme...Kann mir da vielleicht jemand von euch helfen? Wäre lieb!

    Gruss,
    Etienne
    Zuletzt geändert von Etienne; 22.01.2003, 01:45.

  • #2
    hmm, beispiel ich chatte, und gebe das da ein:

    Hallo *ab hier wird maien text dick, aber hier soll er nicht dicke sein.

    auf welcher basis soll nun </b> eingefügt werden? das kann ja nicht gehen ...
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Also, diese Formatierung ist vorallem in den ww Chats bekannt Beispiel:

      *Hallo dies ist mein text des kursiv dargestellt werden soll

      nun soll dieser ganze Text kursiv sein...jedoch soll quasi das Tag dann automatisch am ende geschlossen werden, falls jemand das zweite * vergisst, es ist für die meisten umständlich, wenn der text nur mit * am ende und am anfang kursiv dargestellt wird, weil sie es so net gewöhnt sind.

      Also 2 Situation:

      *Hallo dies ist mein Text

      In dieser vergesse ich das 2. Sternchen, der Text soll also am Ende automatisch das Tag <i> schliessen....

      *Hallo dies ist mein Text* und das hier ist nicht mehr kursiv...

      Dann soll er erkennen...aha, 2 sterne vorhanden... nur das zwischen den sternen kursiv schreiben,den rest nicht...dabei könnte ich auf erg_replace etc. zugreifen, aber wie sieht es bei der Möglichkeit oben aus?`

      Hoffe, ich habe mich jetzt verständlich ausgedrückt? Es gibt einfach chatter, die es aus den ww chats gewöhnt sind nur:

      *Hallo dies ist ein kursiver Text oder
      _Hallo dies ist ein fetter Text
      *_oder fett und kursiv

      zu schreiben...ich finds auch umdständlich alles abschliessen zu müssen, deshlab bräuchte ich quasi 2 Funktionen...zum einen das ereg_replace, was ich ja bereits kenne und weiss wie es geht, zum anderen müsste es aber auch gehen, wenn jemand nur * oder nur _ schreibt, des er des <i> bzw. <b> Tag ganz am ende schliesst...geht sowas überhaupt? Auf www.seelicht.de hat es der progger des chats hinbekommen, allerdings gibt er nix an code raus...
      Zuletzt geändert von Etienne; 22.01.2003, 15:12.

      Kommentar


      • #4
        Naja du kannst dir den String der eingegeben wurde holen und ihn dann stueck fuer stueck parsen ... so kannst du nach dem ersten * ein <i> einfuegen und beim 2. * dann ein </i> ... solltest du am Ende des Strings angekommen sein, setzt du auch ein </i> (falls die Zahl der * ungerade ist-> denn dann ist noch einer offen)

        Ob/Wie das mit RegExps geht kann ich dir nicht sagen ... da kenne ich mich nicht so gut aus.

        Kommentar


        • #5
          Hallo Banana,

          erst mal vielen Dank für die Antwort, genau die Idee kam mir auch schon in den Sinn, ist wahrscheinlich wohl auch die beste Lösung, jedoch weiss ich selbst auch nicht so genau wie ich sowas lösen könnte, also wenn da vielleicht jemand ein kleines Beispiel hat, wäre echt klasse!

          Kommentar


          • #6
            Code:
            $string = "hallo *hier fetter text*";
            $erstens = preg_replace("|(\*)(.*?)(\*)|s","<b>\\2</b>",$string);
            $zweitens = preg_replace("|(\*)(.*?)|s","<b>\\2</b>",$erstens);
            $string = $zweitens;
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              Hallo

              Vielen Dank, so halb klappt das ganze tatsächlich, nur eines will noch net so ganz, denn jetzt steht da:

              *lol

              <font color=#00FF00><b>Etienne</b></font>: <b></b>lol</font><br />

              Fast richtig, jedoch ist das </b> nun vor dem eigentlichen wort?!

              Kommentar


              • #8
                sorry, denkfehler
                Code:
                <?
                $string = "hallo *hier fetter text huhu";
                $string = preg_replace("|(\*)(.*?)(\*)|s","<b>\\2</b>",$string);
                $string = preg_replace("|(\*)(.*)|s","<b>\\2</b>",$string);
                echo $string;
                ?>
                h.a.n.d.
                Schmalle

                http://impressed.by
                http://blog.schmalenberger.it



                Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                ... nur ohne :-)

                Kommentar


                • #9
                  Hey super, es geeeeeeeht *freu* Viiiiiiiiiiiiiiiiiiiiiiiiiiielen Dank für deine Hilfe, ohne dich wäre ich da sicher ewig dran hängen geblieben!

                  Kommentar


                  • #10
                    nix zu danken, dafür simma da
                    h.a.n.d.
                    Schmalle

                    http://impressed.by
                    http://blog.schmalenberger.it



                    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                    ... nur ohne :-)

                    Kommentar

                    Lädt...
                    X