die richtige schleife() ?!?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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 :-)

      Comment


      • #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

        Comment


        • #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 :-)

          Comment


          • #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

            Comment


            • #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 :-)

              Comment


              • #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

                Comment


                • #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 :-)

                  Comment


                  • #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

                    Comment


                    • #11
                      hmm,

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

                      Comment


                      • #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 :-)

                        Comment


                        • #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

                          Comment


                          • #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 :-)

                            Comment


                            • #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

                              Comment

                              Working...
                              X