Variable ist da, aber läßt sich nicht verarbeiten - hmm????

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

  • #16
    Wie schon öfter gezeigt, verwende mal trim auf den String!

    Comment


    • #17
      Original geschrieben von PHP-Desaster
      Wie schon öfter gezeigt, verwende mal trim auf den String!
      Das habe ich bereits verwendet, ändert nischt.

      Comment


      • #18
        Diese Zeile erzeugt also den Wert "maus".
        Falsch!
        in $x steht danach "maus\r\n"
        Wir werden alle sterben

        Comment


        • #19
          Original geschrieben von combie
          Falsch!
          in $x steht danach "maus\r\n"
          Sollte dann nicht:

          PHP Code:
          $t str_replace("maus","test",$t); 
          klappen? Es ist wie verhext!
          Last edited by janein; 07-12-2007, 12:32.

          Comment


          • #20
            Tut es auch!!
            Nur, dass jetzt aus $x plötzlich $t geworden ist....
            Wir werden alle sterben

            Comment


            • #21
              Verwende mal statt echo $var; ein var_dump. Dann siehst du auch leere Zeichen (bzw. die Zeichenkettenlänge ist größer als die Anzahl sichtbarer Zeichen).

              Comment


              • #22
                Original geschrieben von PHP-Desaster
                Verwende mal statt echo $var; ein var_dump. Dann siehst du auch leere Zeichen (bzw. die Zeichenkettenlänge ist größer als die Anzahl sichtbarer Zeichen).
                Habe ich, ohne trim ist ein Leerzeichen sichtbar mit eben nicht. Nur lässt die Wert von $t immer noch nicht prüfen, verarbeiten etc. Es sollte doch egal ob mit Leerzeichen oder nicht mit str_replace() oder mit preg_replace() der string in $t ersetzt werden können. Auch sollte $t = substr($t,-2) etwas anderes zeigen; Es geht aber NICHT!
                Last edited by janein; 07-12-2007, 12:44.

                Comment


                • #23
                  PHP Code:
                  <?php
                  ob_start
                  (); ?>
                  europa-tiere
                  <?php
                  $t 
                  ob_get_contents();
                  ob_end_clean();
                  $string $t;
                  $x str_replace("europa-tiere","maus",$string);
                  $t=$x;
                  $t str_replace("maus","test",$t);
                  echo 
                  $t ;
                  ?>
                  Wenn du nicht sofort ein testbares Beispiel zeigst, werde ich dir niemals mehr helfen!! Mittlerweile fühle mich so langsam verarscht und habe ich einen richtig dicken Hals.

                  Immer nur heulen: "tuts nicht tuts nicht..." aber nicht sagen, was es nicht tut... Grrrr...
                  Wir werden alle sterben

                  Comment


                  • #24
                    Original geschrieben von combie
                    Wenn du nicht sofort ..., werde ich dir niemals mehr helfen!! ...
                    Nicht auch noch verzweifeln, es reicht wenn ich es bin und danke für Deinen Hinweis.

                    PHP Code:
                    <?php
                    $x 
                    str_replace("europa-tiere","maus",$string);
                    ....
                    ob_start(); ?>
                    europa-tiere
                    <?php
                    $t 
                    ob_get_contents();
                    ob_end_clean();

                    $t substr($t,0,-2);
                    echo 
                    $t ;
                    ?>
                    Einen Schritt näher:
                    $t zeigt mit substr($t,0,-2) europa-tie, was heißt, dass die $t noch nicht "maus" ist obwohl echo $t maus zeigt. Die Frage ist jetzt, wie schaffe ich es, dass europa-tiere maus wird bevor es an $t übergeben wird? Ich dachte das erreiche ich mit ob_start(), scheint jedoch nicht der Fall zu sein.
                    Last edited by janein; 07-12-2007, 13:02.

                    Comment


                    • #25
                      Nein!!
                      echo $t; zeigt bei mir europa-tiere !!!!!

                      Ausserdem, hast du das mit dem "testbarem Code" immer noch nicht begriffen!!!
                      Parse error: syntax error, unexpected '.' in H:\Programme\xampp\htdocs\fragmente\R0675787.php on line 3
                      Wir werden alle sterben

                      Comment


                      • #26
                        Die Frage ist jetzt, wie schaffe ich es, dass europa-tiere maus wird bevor es an $t übergeben wird?
                        Wenn das wieder dein ganzer Code ist, dann stellt sich mir die Frage wie du drauf kommst, dass du einen str_replace() machen könntest bevor die entsprechenden Vars ihre Werte haben...
                        ...was heißt, dass die $t noch nicht "maus" ist obwohl echo $t maus zeigt
                        In deinen Täumen vielleicht
                        Also ich persönlich würde die Ersetzung machen nachdem ich den Wert aus dem Buffer ausgelesen habe. Vorher macht echt keinen Sinn...
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Comment


                        • #27
                          ich glaube ich habe das gleiche, bzw ein ähnliches problem.. ich hoffe mal ich bekomme es hin das verständlich zu erklären... also..

                          ich lese mit ob_get_clean() die ausgabe vom puffer in die variable $out ein.. diese kann ich dann mit echo ausgeben, sowie auch mit preg_replace weiterverarbeiten.. klappt alles wie es soll

                          PHP Code:

                          ob_start
                          ();
                          echo 
                          "ausgabe";
                          $out ob_get_clean();

                          echo 
                          $out;

                          $suche "/a/";
                          $ersetze "ersatz";
                          $text preg_replace($suche$ersetze$out);

                          echo 
                          $text

                          jetzt das Problem: statt "ausgabe" auszugeben, gebe ich einen html code vom cms joomla aus, der html aus der datenbank holt. ich habe also folgenden php code:


                          PHP Code:

                          ob_start
                          ();
                          echo 
                          "<jdoc:include type=\"modules\" name=\"breadcrumb\" />";
                          $out ob_get_clean();

                          echo 
                          $out;

                          $suche "/a/";
                          $ersetze "ersatz";
                          $text preg_replace($suche$ersetze$out);


                          echo 
                          $text



                          rufe ich das script nun auf, wird die variable $out auch per echo ausgegeben .

                          (die ausgabe sieht wie folgt aus):


                          <span class="breadcrumbs pathway">
                          <a href="http://www.google.de" class="pathway">Home</a> <img src="/images/arrow.png" alt="" /> seite2</span>




                          ABER: ich kann die variable nicht weiterverarbeiten!! mit preg_replace und anschießendem echo $text wird nichts ausgeben, als würde $out nicht existieren..

                          sehr merkwürdig, ist ja schließlich bis auf Zeile 2 der selbe Code jeweils..
                          Leider ist das Beispiel für Leute ohne Joomla nicht reproduzierbar, deswegen ein Sprry schonmal vorab, vielleicht hat ja trotzdem jemand eine Idee woran es liegen könnte..
                          Last edited by kanzy; 09-03-2008, 17:36.

                          Comment

                          Working...
                          X