die richtige schleife() ?!?

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

  • die richtige schleife() ?!?

    ich drehe gleich durch!!!

    man stelle sich vor ein user kann text eingeben. dieser text wird normalerweise durch htmlentities($string) gekillt. es sei denn der user gibt
    HTML-Code:
     text
    ein. der teil zwischen
    HTML-Code:
     und
    bleibt wie er ist.

    das geht ja auch wunderbar. aber nur wenn der user das ur einmal macht. stelle ich mir jetzt aber vor der user gibt sowas ein:

    text text
    HTML-Code:
     <hr>
    normaler text
    HTML-Code:
     <hr>
    normaler text
    HTML-Code:
     <hr>
    ende text

    ... dann geht es nimmer. ich habe schon tausende dinge ausprobiert. preg_replace, explode usw. ich komme nicht drauf ...

    merci very much
    h.a.n.d.
    Schmalle

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



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

  • #2
    Was geht denn nimmer? Werden die anderen Teile einfach nicht weiter bearbeitet oder was passiert?

    Wenn der Rest nicht mehr bearbeitet wird, geht das ganze vielleicht so:

    $text_stueck = explode ("
    HTML-Code:
    ",$text);
    $anzahl = count ($text_stücke);
    $text = "";
    
    for ($i=0;$i<anzahl;$i++)
    {
      $pos_begin = strpos ($text_stueck[$i],"]");
      $pos_end = strpos($text_stueck[$i],"
    ");
    $ersetzen = substr ($text_stueck[$i],$pos_begin+1,$pos_end);
    $ersetzen_durch = htmlentities($ersetzen);
    $text_stueck[$i] = str_replace ("
    HTML-Code:
    ".$ersetzen_durch."
    ","
    HTML-Code:
    ".$ersetzen."
    ",$text_stueck[$i]);
    $text .= $text_stueck;
    }

    echo $text;
    Of all things I've lost
    I miss my mind the most

    Kommentar


    • #3
      ergebnis = array array array array ?!?

      tippfehler inkl.
      h.a.n.d.
      Schmalle

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



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

      Kommentar


      • #4
        Original geschrieben von tj99de

        for ($i=0;$i<anzahl;$i++)
        {
        $pos_begin = strpos ($text_stueck[$i],"]");
        $pos_end = strpos($text_stueck[$i],"[/html]");
        $ersetzen = substr ($text_stueck[$i],$pos_begin+1,$pos_end);
        $ersetzen_durch = htmlentities($ersetzen);
        $text_stueck[$i] = str_replace ("
        HTML-Code:
        ".$ersetzen_durch."
        ","
        HTML-Code:
        ".$ersetzen."
        ",$text_stueck[$i]);
        $text .= $text_stueck;
        }
        sorry für die tippfehler, war nen bißchen in eile.
        die meldung array kommt von der zeile
        $text .= $text_stueck;

        die muß
        $text .= $text_stueck[$i];
        sein

        ich hoffe diesmal klappts.
        Of all things I've lost
        I miss my mind the most

        Kommentar


        • #5
          die array´s sind wech. aber funktionieren tut das nicht um genau zu sein gar nicht soweit war ich auch schon mal heute morgen *g*

          wobei ich meine, dass deine grundidee gut ist ... *grübel*
          h.a.n.d.
          Schmalle

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



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

          Kommentar


          • #6
            dann krückt der irgentwo in der schleife. vom prinzip her muß das so gehen
            laß dir mal $ersetzen und $ersetzen_durch ausgeben und prüf mal, ob der zu ersetzene string überhaupt im text vorkommt, oder ob wir da irgentnen müll zusammenbauen.
            vielleicht liegt der fehler ja da.
            ansonsten post mal alle strings mit denen gearbeitet wird.
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              kann sich das nicht einfach mal wer angucken, der sich damit auskennt?
              h.a.n.d.
              Schmalle

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



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

              Kommentar


              • #8
                wenn du mal mit nen paar infos über den inhalt der variablen rausrückst, kann ich dir auch sagen, wo der fehler liegt
                Of all things I've lost
                I miss my mind the most

                Kommentar


                • #9
                  htmlentities() wird erst gar nicht ausgeführt, und der rest wird einfach in 2 facher ausführung ausgegeben.

                  ich verwende folgenden text als test ...

                  "hallo
                  <hr color='#0000FF'>
                  HTML-Code:
                  <hr>
                  hallo 2
                  <hr color='#0000FF'>
                  HTML-Code:
                  		 <b>text</b>
                  ";
                  gucks dir doch mal selbst an *bitte*
                  h.a.n.d.
                  Schmalle

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



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

                  Kommentar


                  • #10
                    Original geschrieben von schmalle
                    kann sich das nicht einfach mal wer angucken, der sich damit auskennt?
                    Dein preg-pattern, bitteschön...

                    CAT Music Files

                    Kommentar


                    • #11
                      hmm,

                      schmalle hattest du nichtmal so ein Teil gebaut für [ b ] ??? Da war doch genau dasselbe Problem oder ?

                      Kommentar


                      • #12
                        @sky was möchtest du von mir?
                        @joelh ja hatte ich. wollte das auch verwenden ( mit deiner lösung ). das funktionierte aber auch nur, wenn der tag 2x drin vorkommt. bei drei mal macht er auch schlapp
                        h.a.n.d.
                        Schmalle

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



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

                        Kommentar


                        • #13
                          Ups ... peinlich, noch nen Fehler

                          Nagut, also so konnte das auch nicht gehen. der str_replace Befehl war falsch.

                          ersetz mal das
                          $text_stueck[$i] = str_replace ("
                          HTML-Code:
                          ".$ersetzen_durch."
                          ","
                          HTML-Code:
                          ".$ersetzen."
                          ",$text_stueck[$i]);

                          durch
                          $text_stueck[$i] = str_replace ("
                          HTML-Code:
                          ".$ersetzen."
                          ","
                          HTML-Code:
                          ".$ersetzen_durch."
                          ",$text_stueck[$i]);

                          Hoffentlich gehts jetzt.
                          Of all things I've lost
                          I miss my mind the most

                          Kommentar


                          • #14
                            geht noch immer nicht.

                            htmlentieties wird nach wie vor nicht ausgeführt. es wird aber nichts mehr doppelt ausgegeben.
                            dafür bleiben jetzt die tags [/html] stehen ...
                            h.a.n.d.
                            Schmalle

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



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

                            Kommentar


                            • #15
                              Mühsam ernährt sich das Eichhörnchen ...

                              änder das mal
                              $ersetzen_durch = htmlentities($ersetzen);
                              $text_stueck[$i] = str_replace ("
                              HTML-Code:
                              ".$ersetzen_durch."
                              ","
                              HTML-Code:
                              ".$ersetzen."
                              ",$text_stueck[$i]);

                              in
                              $ersetzen_durch = htmlentities("
                              HTML-Code:
                              ".$ersetzen."
                              ");
                              $text_stueck[$i] = str_replace ($ersetzen_durch,"
                              HTML-Code:
                              ".$ersetzen."
                              ",$text_stueck[$i]);
                              Of all things I've lost
                              I miss my mind the most

                              Kommentar

                              Lädt...
                              X