Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] String aus String abschneiden

Einklappen

Neue Werbung 2019

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

  • [Erledigt] String aus String abschneiden

    Hallo Zusammen,

    ich habe schon einige sachen gelesen, doch bekomme ich es irgendwie nicht hin.

    Ich habe einen String startseite.php?url=benutzer und möchte alles nach .php abschneiden, also das das ergebnis so ist startseite.php.

    Doch mir preg_replace komme ich nicht klar, wegen den ausdrücken.
    Mit strpos wird mir nur eine zahl angezeigt, wie kann ich damit arbeiten.

    PHP-Code:
    $aktuell="startseite.php?url=benutzer";

    // 1)
    $ergebnis=preg_replace("/.*php:.*?;/"""$aktuell);

    // 2)
    $ergebnis=strpos($aktuell'.php'1); 
    Sonst weiß ich nix mehr, kann doch nicht so schwer sein ich schaffe mal wieder gar nix.



    Gruß Alecane

  • #2
    Zitat von Alecane Beitrag anzeigen
    Mit strpos wird mir nur eine zahl angezeigt, wie kann ich damit arbeiten.
    Substring nehmen (von 0 bis Zahl, von Zahl bis length je nachdem was du willst, bei dir wohl ersteres).

    Kommentar


    • #3
      Zitat von cetalian Beitrag anzeigen
      Substring nehmen (von 0 bis Zahl, von Zahl bis length je nachdem was du willst, bei dir wohl ersteres).
      Ahh Super, danke habe es dann mit substr weiterverarbeitet

      PHP-Code:
      $aktuell="startseite.php?";
      $id=strpos($aktuell'.');
      echo 
      substr($aktuell0$id); 
      Funktioniert, dankö

      Kommentar


      • #4
        btw so würde (müsste) es gehen:

        Code:
        /^((?:.*?)\.php)/s
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          Zitat von tkausl Beitrag anzeigen
          btw so würde (müsste) es gehen:

          Code:
          /^((?:.*?)\.php)/s
          Mit diesem Code bekomme ich eine Fehlermeldung

          PHP-Code:
          aktuell="startseite.php?url=berf";
          $id="/^((?:.*?)\.php)/s";
          echo 
          preg_replace("/$id/"""$aktuell); 
          PHP-Code:
          Warningpreg_replace() [function.preg-replace]: Unknown modifier '^' in ... 

          Kommentar


          • #6
            wenn du mal genau hingucken würdest würdest du sehn das im string schon Delimiter drin sind, deine kannst du also rausschmeißen.
            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

            Kommentar


            • #7
              parse_url wäre auch eine Idee:

              PHP-Code:
              <?php

              $tests 
              = array(
                  
              'test.php?test',
                  
              'test.php#test',
                  
              'test.php',
                  
              'test'
              );

              foreach (
              $tests as $test) {
                  echo 
              parse_url($testPHP_URL_PATH) . '<br />';
              }

              Kommentar


              • #8
                Zitat von tkausl Beitrag anzeigen
                wenn du mal genau hingucken würdest würdest du sehn das im string schon Delimiter drin sind, deine kannst du also rausschmeißen.
                Aye, ich wusste nicht was dies ist, aber habe jetzt herrausgefunden was du meintest.

                Danke vielmals. Gruß Alecane

                Kommentar


                • #9
                  Guten Morgen Zusammen,

                  ich habe den Code von tkausl ausprobiert.

                  PHP-Code:
                  $text=".post.de";
                  echo 
                  preg_replace("/^((?:.*?)\.)/s"NULL$text); 
                  Ausgabe
                  post.de
                  Ich möchet aber Gerne das er mir alles ab den letzten punkt abschneiden und das ergebnis so sein sollte:

                  de
                  LÖSUNG: Einfach dieses ^ Zeichen entfernen, somit nimmt er alles nach dem letzten Punkt

                  Gruß Aelcane

                  Kommentar


                  • #10
                    Ich wette, Du hast Dir parse_url nicht mal angesehen.
                    Ich möchet aber Gerne das er mir alles ab den letzten punkt abschneiden und das ergebnis so sein sollte:
                    Im Normalfall schreibt auch gleich, was man möchte. Nicht erst in Posting #9.

                    somit nimmt er alles nach dem letzten Punkt
                    Falsch. „Er“ ersetzt alles vor einem Punkt (und inklusive des Punktes). Das ist ein wichtiger Unterschied. Solange Du Dir nicht klarmachst, was da eigentlich passiert, wirst Du reguläre Ausdrücke auch nicht verstehen.

                    @tkausl: Wieso eigentlich NULL? Es geht hier um Stringersetzung, wieso muß man es PHP unnötig schwer machen? -> ''
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar

                    Lädt...
                    X