Ankündigung

Einklappen
Keine Ankündigung bisher.

Stringverarbeitung - Problem mit \

Einklappen

Neue Werbung 2019

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

  • Stringverarbeitung - Problem mit \

    Hallo

    ich habe folgendes Problem.
    Ich habe einen String der eine URL enthält.

    Beispiel: \\Server\Freigabe\Datei.xls
    Nun möchte ich den String bearbeiten, so dass nur der Filename übrig bleibt.
    Ich verwende folgenden Code, jedoch stört sich PHP am "\".
    Wer kann mir hier helfen?

    Code:
    $linkname = stristr($URL, '\');


  • #2
    Guck Dir mal die Grundlagen zu Strings an. Dort wirst Du rausfinden, dass einige Zeichen "escapt" werden müssen.
    Das passiert durch einen vorangestellten \ .
    Du hast also das zweite ' escapt und das passt PHP natürlich nicht.

    Wenn Du einen \ in einem String haben willst, musst Du \\ schreiben.

    Bist Du eigentlich sicher, dass dieser Windows-Freigabename irgendwas mit ner URL zu tun hat?
    In einer URL werden üblicherweise / verwendet keine \
    **********************************
    Nein, ich bin nicht die Signatur.
    Ich putze hier nur.
    **********************************

    Kommentar


    • #3
      wenn du nur Datei.xls rausholen willst aus der Url dann nimm basename()

      PHP-Code:
      $datei basename("www.Testgelände.de/Server/Freigabe/Datei.xls ");
      echo 
      $datei // Ausgabe Datei.xls 
      Ander Möglichkeit würde ich nun mit explode() sehen wo du es immer an einen / oder \ trennst. Das letzte Element wäre dann die Datei .

      Kommentar


      • #4
        du musst das \ mit nem \ davorschreiben

        PHP-Code:
        <?php
        $URL 
        '\\Server\Freigabe\Datei.xls';
        $linkname strrchr($URL'\\');
        echo 
        substr($linkname,1);
        ?>
        mfg

        ___ edit

        war zu langsam :/

        Kommentar


        • #5
          dann ist es halt keine URL sonden eine Freigabe.
          Muss man hier jedes Wort auf die Goldwage legen?
          Weiterhin eine Frage an dich: Für was gibt es dieses Forum? Nicht jeder Anfänger kann die Grundlagen von PHP auswendig! --> Anfänger!

          Parallel erwähnt: das mit dem \\ geht trotzdem nicht. Wenn ich dies abfrage, dann bekomme ich den ganzen String zurück!

          So und nu?

          Kommentar


          • #6
            das sind dochmal Anworten ! Danke Jungs! Ich checke es mal ab!
            Nicht nur Belehrungen!

            Kommentar


            • #7
              es geht!

              PHP-Code:
              <?php
              <?php
              $URL 
              '\\Server\Freigabe\Datei.xls';
              $linkname strrchr($URL'\\');
              echo 
              substr($linkname,1);
              ?>
              ?>
              Danke..!!

              Kommentar


              • #8
                --> siehe mein Post

                deine "URL" in einer Variable. Linkname mit der Funktion strrchr (Sucht erstes Vorkommen des Suchstrings und liefert den Reststring) und das \ dann mit substr entfernen.

                So hast dann dein Dateiname. Das \ vor dem \ musst trotzdem machen, da das PHP sonst falsch intepretiert.

                ___ edit

                war schon wieder zu langsam :/

                Kommentar


                • #9
                  Zitat von sh030169
                  dann ist es halt keine URL sonden eine Freigabe.
                  Muss man hier jedes Wort auf die Goldwage legen?
                  Weiterhin eine Frage an dich: Für was gibt es dieses Forum? Nicht jeder Anfänger kann die Grundlagen von PHP auswendig! --> Anfänger!

                  Parallel erwähnt: das mit dem \\ geht trotzdem nicht. Wenn ich dies abfrage, dann bekomme ich den ganzen String zurück!

                  So und nu?
                  Was maulst Du hier rum?
                  Ich hab Dir doch die Sachen, die meines Erachtens nötig waren, gleich frei Haus mit in dem Posting geliefert.
                  Der Rest war ein Hinweis, wo Du das mal vertiefen kannst damit Du beim nächsten Sonderzeichen selbst nachschauen kannst.

                  Die Frage nach der URL hatte auch einen Sinn:
                  Falls es wirklich eine URL hätte sein sollen, hättest Du die \ auch durch / ersetzen können und wärst einige Probleme los.

                  Bei widersprüchlichen Angaben kann ich ja nicht riechen, welche von beiden richtig ist. URL <-> Freigabe
                  Das war also auch einfach nur noch ein Denkanstoß, was falsch sein könnte.
                  **********************************
                  Nein, ich bin nicht die Signatur.
                  Ich putze hier nur.
                  **********************************

                  Kommentar


                  • #10
                    ich maule hier nicht rum, sondern mir geht so Kommentare wie von dir langsam auf den Keks.
                    Ja es gibt da diverse Anleitungen, ja man kann und sollte...

                    Kann man dies nicht einfach weglassen und zum sachlichen Teil übergehen.
                    Kuck mal die Antworten der anderen User an!

                    Kommentar


                    • #11
                      Geht's noch?
                      Hast Du nicht begriffen, wie Lernen funktioniert?
                      Willst Du irgendwann fähig sein, Probleme selbst zu lösen oder willst Du ewig Anfänger bleiben?

                      Willst Du künftig bei jedem Sonderzeichen hier nachfragen? Was ist denn, wenn mal zwei Tage keiner antwortet?
                      So ein Hinweis, in welchem Kapitel der Doku Du mal nachgucken könntest hat nur den Zweck, dass Du selbst was lernst. Sonst nix.

                      Wenn ich die nötigen Sachen nicht mit reingepackt hätte, könnte ich Deine Antwort ja noch verstehen, aber so ist das lächerlich!

                      Was die anderen Antworten betrifft..
                      Ja, die haben Dir zwar was gesagt, aber Du dürftest dabei nicht viel lernen. Ein fertiger Code-Schnippsel bringt wesentlich weniger als wie selber nachlesen.
                      **********************************
                      Nein, ich bin nicht die Signatur.
                      Ich putze hier nur.
                      **********************************

                      Kommentar


                      • #12
                        Lernen geht doch!
                        Learning by doing!

                        Den Rest denke ich mir.
                        Belassen wir es dabei.

                        Kommentar


                        • #13
                          Wenn Du meinst...

                          Der mit Abstand wichtigste Aspekt bei der Wissensvermittlung ist es m.E., jemanden in die Lage zu versetzen, sich selbst Wissen anzueignen. Sei es durch Hinweise auf die Stellen, wo er was findet oder durch zeigen, wie man Informationen gewinnen kann.

                          Learning by Doing ist zwar ein netter Ansatz, scheitert aber, wenn darüber hinaus nicht vermittelt wird, wie die Ergebnisse auf andere Fälle angwewandt werden können und was noch zu beachten ist.
                          Ein Beispiel alleine oder gar nur die fertige Lösung ohne weitere Infos dazu ist absolut wertlos.

                          Aber wer nicht will, der hat schon...
                          **********************************
                          Nein, ich bin nicht die Signatur.
                          Ich putze hier nur.
                          **********************************

                          Kommentar


                          • #14
                            Learning by doing sollte aber auch so intepretiert werden, dass man den Code, welchen man bekommt, auch versteht. Somit im Manual nachschauen

                            Ich denke auch, dass du es machst. Solltest du dies nicht tun, würde ich dir ans Herz legen, die Manuallinks von mir (und den anderen) anzuschauen.

                            Der_Gerhard wollte dir auch nur helfen und hat es eben ein wenig genauer erklärt als ich aus deinem Post kann man auch schlecht rauslesen dass du den fertigen Code (also dass nur der Dateiname angezeigt wird) herauslesen. Doch man kanns. Ich als Anfänger hab deinen Post mehr als Aufgabe mir gegenüber angesehen da ich ja auch lernen muss. Deswegen auch der gesamte Quellcode.

                            Finde aber den Post von Der_Gerhard besser als meinen, da dieser eigentlich auch eine Lösung auf deine Frage ist aber mehr zum Denken anregt als meiner (Copy & Paste). Man soll ja verstehen neben dem Handeln.

                            Lange Rede kurzer Sinn: Zankt euch nicht, hier will jeder nur denen helfen die Hilfe benötigen und diese möchten auch nur Hilfe anderer wenn diese ein Problem haben.

                            mfg (ich klugscheisser :P)

                            Kommentar


                            • #15
                              Ganz klar!
                              Solche Hilfen über Foren prägen sich bei mir fest ein und natürlich lese ich auch Anleitungen. Doch manchmal sieht man den Wald vor lauter Bäumen nicht.

                              Ich muss nur nochmnal sagen, dass es sehr viele "Helfer" gibt, die etwas überheblich wirken und da kommt man sich als Anfänger komisch vor.
                              Ich als User bin echt froh, dass es solche Foren gibt und natürlich auch User, die etwas hineinposten. Das ist ja auch mit Arbeit verbunden.

                              Ich bin übrigens keinem böse! Ich finde nur, dass man etwas sachlicher an das ganze gehen sollte.

                              Kurzum: Ich habe heute vieles gelernt.
                              Auch das ich nicht gleich in jedem etwas schlechtes sehen soll!

                              Kommentar

                              Lädt...
                              X