Trim oder Chop funktionieren nicht

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

  • Trim oder Chop funktionieren nicht

    Hallo!

    Ich habe folgendes Problem:

    Ich habe einen String in dem ein fehlerhafter Link steht. (Fehlerhaft in dem Sinne, dass eine Leertaste drinnen ist)

    PHP-Code:
    $string "http://www.bla.de/abc/hardware/tek_ 1018/images/2_small.jpg";
    fopen($string"r"); 
    Ausgabe:

    Warning: fopen("http://www.bla.de/abc/hardware/tek_ 1018/images/2_small.jpg", "r") - Success in more_info.php on line 9


    Logisch wegen der Leertaste.

    Mein Lösungsansatz, der eigentlich funktionieren muss!

    PHP-Code:
    $pic chop(trim($zeile[pic]));
    ereg_replace(' '$pic$pic); 
    Komisch: Die Leerzeile bleibt erhalten


    cYa DuRoX

  • #2
    Lies dir mal das Manual richtig durch.

    chop und trim bewirken schonmal gar nichts, da sie nur anfang und ende entfernen. was aber automatisch geschehen wäre, wenn du die ereg fkt richtig angewendet hättest.

    da du aber keine regex brachst, llässt du auch deine ereg_replace weg!

    und nimmst einfach str_replace.

    Kommentar


    • #3
      Gibs da keine professionellere Lösung?

      Wie soll ich denn vorhersehen, wieviel Leerzeilen in jedem Link sind?

      cYa durox

      Kommentar


      • #4
        str_replace ersetzt alle vorkommen vielleicht lieste mal im manual nach...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          RTFM!!!

          Wer sagt was davon, dass man nur eins damit ersetzen kann? das ist die professionellste Lösung für deine Aufgabe!

          Kommentar


          • #6
            Immer locker bleiben! Auch wenn ihr hier wirklich manchmal 1000 Anfragen habt, die man sich hätte selbst beantworten können.

            Bei mir ist es allerdings anders! Wenn ich ordentlich viele Whitespaces reinhaue, bleibt immer noch mindestens EINER über!

            cYa DuRoX

            Kommentar


            • #7
              dann machst du was falsch!

              Kommentar


              • #8
                nochmal zum nachvollziehen:

                PHP-Code:
                <?

                echo str_replace(' ', '', ' Hallo wie gehts    Gut? Mir auch! ');

                ?>
                welchen String benutzt du denn?

                Kommentar


                • #9
                  z.B.:

                  $string = "http://bla/ho wto/amplif ier_mod/imag es/title.jpg"


                  http://bla/ho wto/amplifier_mod/images/title.jpg

                  das bleibt NACH dem str replace bestehen. Dies ist vollkommen mysteriös, das weiß ich. Aber ich habe die Funktion genau so bestückt, wie es im Manual beschrieben ist.

                  Kommentar


                  • #10
                    also bei mir kommt das raus:

                    http://bla/howto/amplifier_mod/images/title.jpg

                    hab deinen str. 1:1 kopiert!

                    Kommentar


                    • #11
                      *g* es ist doch wie verhext. Jetzt funzt zwar das mit den Leertasten, aber auf einmal spinnt mein FOPEN TOTAL! Ich wusste z.B. gar nicht das fopen aufeinmal php_network_getaddresses heißt

                      Hier der Error:

                      Warning: php_network_getaddresses: getaddrinfo failed: Name or service not known in /XXX/more_info.php on line 9

                      Warning: fopen("http://XXX/images/title.jpg", "r") - Bad file descriptor in /XXX/more_info.php on line 9
                      In der Zeile 9 steht:

                      PHP-Code:
                      if(fopen($pic"r") == FALSE || $pic == "") { $pic "none.gif"; } 
                      cYa DuRoX

                      Kommentar


                      • #12
                        würd sagen, dass ist einfach ne unterfunktion.

                        aber was sagst du denn zu dem String?

                        bist du sicher, dass du auf die URL zugriff hast?

                        Kommentar


                        • #13
                          das bedeutet dass es http://XXX/images/title.jpg nicht gibt und dass über den namen kein host gefunden werden kann...
                          ach und if(fopen() == "FALSE"
                          is das gleiche wie if(!fopen())...
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Kommentar


                          • #14
                            if(fopen($pic, "r") == FALSE || $pic == "")

                            die abfrage wird nicht nur wie mellowpie sag abgekürzt, sondern bitte auch noch umgedreht!

                            Kommentar


                            • #15
                              ok habe ich geändert.

                              @ MelloPipe: Ja das habe ich auch schon gedacht, aber wenn man den Link den der Error ausspuckt 1:1 abpasted und in ein neues Browserfenster kopiert, funzt es einwandfrei! Es entstehen auch keine %20 oder ähnliches. Wenn ich die URL mit ECHO ausgebe, enthält sie nun auch keine Leerzeilen mehr. Ich bin echt ratlos

                              Übrigens: Ich hole die Daten ganz einfach aus der DB mit einem ganz normalen FETCH ARRAY und deklariere dann eine neue Variable für den Link.

                              cYa DuRoX

                              EDIT:
                              Achja: Ich habe übrigens diesen komischen T-Online Link als URL: DeinName.bei.t-online.de/ordner/ordner/pic.jpg


                              Zuletzt geändert von DuRoX; 15.06.2003, 08:54.

                              Kommentar

                              Lädt...
                              X