String-Funktion: strrchr

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

  • String-Funktion: strrchr

    warum liefert mir folgendes, nicht das gewünschte Ergebnis?

    PHP-Code:

    $rs_3 
    odbc_exec($conn,$sql_3) or die("Anfrage3 nicht erfolgreich");
    while (
    odbc_fetch_row($rs_3))
    {
     
    $fotox odbc_result($rs_3,1);
    }
    //lasse ich mir $fotox ausgeben, enthält es den gewünschten Wert aus der DB (zB http://irgend/ein/pfad/datei.html)

    $foto strrchr($fotox'/');

    //das sollte mir eigentlich den substring vom letzten / bis zum ende liefern 
    das tut es aber nicht;
    ich vermute, es liegt daran, dass der String irgendeine komische codierung hat; denn lege ich ein $text="blabla/bla" an, funktioniert strrchr einwandfrei

    was sagt ihr?
    ist das Problem bereits bekannt, wie kann man das lösen??

    Danke!!!

  • #2
    Schon mit mb_detect_encoding() bzw. mb_strrpos() und mb_substr() versucht?

    Kommentar


    • #3
      Re: String-Funktion: strrchr

      Original geschrieben von Snowboada
      PHP-Code:
      while (odbc_fetch_row($rs_3))
      {
       
      $fotox odbc_result($rs_3,1);
      }
      //las$fotox ausgeben, enthält http: // irgend/ein/pfad/datei.html)

      $foto strrchr($fotox'/'); 
      (1) mir gefällt die Programmstruktur nicht ganz. warum dreht die while-Schleife durch, ohne mit $fotox etwas zu machen? und wenn die while-Schleife leer ist, wird $foto trotzdem bestimmt - wenn nicht leer, vom letzten $fotox.

      (2) Dass $fotox etwas gibt, aber $foto nichts, aus Codierungsgründen, will ich nicht glauben. Sonst könnte man das Codierungsargument gelten lassen , egal wieviel man davon versteht.

      Kommentar


      • #4
        Original geschrieben von onemorenerd
        Schon mit mb_detect_encoding() bzw. mb_strrpos() und mb_substr() versucht?
        da bekomme ich leider immer
        Fatal error: Call to undefined function: mb_detect_encoding()...

        steht also leider nicht zur verfügung (auch mb_strrpos() nicht)

        Kommentar


        • #5
          habs jetzt so gelöst:

          PHP-Code:

          $fotox 
          strrev($fotox);
          $fotox substr($fotox0strpos($fotox'/'));
          $fotox strrev($fotox); 

          Kommentar


          • #6
            Und warum nicht mit

            $f = explode("/",$fotox);

            ???

            Dann hast du ein Array ..

            $f[count($f)];

            Müsste das sein was du suchst
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Original geschrieben von Snowboada
              habs jetzt so gelöst:

              PHP-Code:

              $fotox 
              strrev($fotox);
              $fotox substr($fotox0strpos($fotox'/'));
              $fotox strrev($fotox); 
              ursprünglich war es aber:
              $foto = strrchr($fotox, '/');
              wenn das so gelöst werden konnte, haben wir auch den Fehler: ein fehlendes 'x'
              im Namen der Variabeln $foto.

              Kommentar


              • #8
                nein,nein, das ist nicht der grund

                durch langes testen haben sich variablen-namen oft geändert

                das war nicht das problem!!

                Kommentar


                • #9
                  Es würde sich lohnen, das Problem zu lösen?, anstatt zu umgehen (was nicht gegen letzteres spricht).
                  Dass es am angegebenen Codestück liegt, ist nicht wahrscheinlich. Bei mir, php 5.1.2 Windows, hat der
                  angegebenen String
                  http://irgend/ein/pfad/datei.html das richtige Ergebnis datei.html gegeben.

                  Kommentar


                  • #10
                    Original geschrieben von h31ss
                    Es würde sich lohnen, das Problem zu lösen?, anstatt zu umgehen (was nicht gegen letzteres spricht).
                    Da hast du recht, ist aber jetzt auch nicht viel umständlicher.
                    Werde das so abhacken!

                    ich glaube es liegt daran, dass möglicherweise gewisse PHP-Funktionen manuell in den core kompiliert werden müssen (bitte um Korrektur) und erst dann zur verfügung stehen....

                    Kommentar

                    Lädt...
                    X