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

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

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

    Kommentar


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

      Kommentar


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

        Kommentar


        • #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!
          Zuletzt geändert von janein; 07.12.2007, 13:32.

          Kommentar


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

            Kommentar


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

              Kommentar


              • #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!
                Zuletzt geändert von janein; 07.12.2007, 13:44.

                Kommentar


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

                  Kommentar


                  • #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.
                    Zuletzt geändert von janein; 07.12.2007, 14:02.

                    Kommentar


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

                      Kommentar


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

                        Kommentar


                        • #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..
                          Zuletzt geändert von kanzy; 09.03.2008, 18:36.

                          Kommentar

                          Lädt...
                          X