Smilie pro Post begrenzen

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

  • #16
    Ich hab ne Lösung ohne RegEx gefunden ( zum Glück ).

    Ich mache es so:

    $a = substr_count("$nachricht", ":mic:");
    $b = substr_count("$nachricht", ":arm:");

    Das lege ich für jeden Smilie an und addiere zum schluss alle varis um hab die Endsmilie zahl nur das muss ich jetzt 30mal schreiben deshalb wollt ich schnell nachfragen ob es da ne möglichkeit gibt das zu verkürzen mit ner Funktion ( ohne RegEx ) .

    Kommentar


    • #17
      wenn man mal bedenkt das du mit einer Zeile alle Smillies rausbekommst via preg_match_all
      und bei diesem Array nur die Anzahl ermitteln musst und anschließend nur noch mit deiner maximalen Anzahl an Smilies entsprechend vergleichen muss.

      Hab ich genau 3 Zeilen +/- paar Zeilen und die pure Übersicht, bei deinem Code nunja lassen wir das.....

      Bei den regulären Ausdrücken musst du doch nur nach beginnend mit : dazwischen alle Zeichen a-z+0-1 und endend mit : suchen das ist doch net schwer wenn du dir das mal duchliest
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #18
        das ist was ich meine

        Kommentar


        • #19
          Ok bin grad dabei hab den Artikel noch mal gelesen nur welches Array muss ich ausgeben?

          $smilies =preg_match_all ("/^a-zA-Z0-9$):/", $nachricht, $out);


          Ist das den schonmal richitg?
          Zuletzt geändert von MajorW; 09.05.2004, 12:33.

          Kommentar


          • #20
            hast du denn auch das Manual gelesen??? Was z.B. steht im Array $out?

            Kommentar


            • #21
              $smilies =preg_match_all ("/^a-zA-Z0-9$):/", $nachricht, $out);
              $p = count($out[0]);
              echo $p;

              So hab ich das im Moment er gibt leider immer nur null aus also denke ich das mein RegEX nicht stimmt.
              Nochmal lesen gehen

              Jo in jedem Array steht der Ihalt der anderen Klammern?
              Sry ich raff die Text nei auf php.net ist so umständlich geschrieben.
              Zuletzt geändert von MajorW; 09.05.2004, 12:39.

              Kommentar


              • #22
                Weiterhin ohne erfolg es gibt doch nur das array $out[0] und [1]
                aber der zeigt immer nur 0 an.

                Kommentar


                • #23
                  dann nimm unser tutorial.

                  Kommentar


                  • #24
                    Das hab ich gelesen steht das was direkt zu preg_match_all

                    Kommentar


                    • #25
                      nicht direkt. das soll dir aber auch egal sein, weil die verwendung eigentlich richtig ist. du brauchst halt nur das richtige pattern. und wie du das erstellst, steht im Manual.

                      Kommentar


                      • #26
                        So erster Erfolg nur ein Problem aber erst der Code:

                        $smilies =preg_match_all ("/:[\.a-z0-9]+:+/i", $nachricht, $out);
                        $p = count($out[0]);
                        echo $p;

                        erzählt dei Smilies aber wenn sie so stehen :
                        :bla::uh:

                        Zählt er die als 1 was kann ich damachen?

                        Danke im voraus

                        Kommentar


                        • #27
                          steht auch im tut, ziemlich unten. ich glaub was mit [b]-ersetzungen oder so.

                          Kommentar


                          • #28
                            Halt mcih für blind nochmal gelesen nicht gefunden.
                            Hmm nochmal lesen komisch brauch ne brille

                            Kommentar


                            • #29
                              So nicht weit unten das ? wars hier der code

                              $smilies =preg_match_all ("/:[\.a-z0-9]+:+?/i", $nachricht, $out);
                              $p = count($out[0]);
                              echo $p;

                              Danke an alle die mir geholfen haben!!!

                              Kommentar


                              • #30
                                Standardmäßig versuchen die Quantifier, auf einen so großen Text wie möglich zu passen. Dies kann zu Problemen führen: Angenommen es liegt eine Zeichenkette $str = "texttexttext" vor, und wir möchten daraus "<b>text</b>text<b>text</b>" machen. Versuchen wir es folgendermaßen:

                                $str = preg_replace("!\[b\](.*)\[/b\]!","<b>text</b>",$str);

                                so erhalten wir als Ergebnis "<b>text[/b]text[b]text</b>" - nicht ganz das, was wir wollten. Um dieses Verhalten abzustellen, setzen wir hinter den Quantifier ein Fragezeichen "?":

                                $str = preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str);

                                und das gewünschte Ergebnis ist erreicht! Jeder der oben beschriebenen Quantifier kann durch ein angehängtes "?" zu diesem Verhalten bewegt werden, so z.B. {1,4}? oder +?.
                                Bitte!

                                Kommentar

                                Lädt...
                                X