Markus: Teilstring auslesen (vor bestimmten Zeichen)

Hallo,

ich suche eine Möglichkeit mit der ich den Teilstring vor dem ersten "-" auslesen kann.

z.B. 43893-hallo-wie-gehts.html
Hier bräuchte ich "43893".

Der Teilstring hat zwischen 1 und 7 Zeichen und es folgt stets ein "-".

Danke & viele Grüsse,
Markus

  1. Hallo Markus.

    ich suche eine Möglichkeit mit der ich den Teilstring vor dem ersten "-" auslesen kann.

    z.B. 43893-hallo-wie-gehts.html
    Hier bräuchte ich "43893".

    Dann suche nach dem ersten Vorkommen von „-“ und extrahiere den Teilstring bis dahin.

    Einen schönen Sonntag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  2. Hallo,

    ich suche eine Möglichkeit mit der ich den Teilstring vor dem ersten "-" auslesen kann.

    explode() ist deine Wahl.

      
    $teilstring=explode('-',$gesamtstring);  
    $teilstring=$teilstring[0];  
    
    

    Gruß

    --
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
    René Descartes
    1. Danke,
      das scheint mir die beste Lösung zu sein.

      Grüsse,
      Markus

      explode() ist deine Wahl.

      $teilstring=explode('-',$gesamtstring);
      $teilstring=$teilstring[0];

      
      
  3. Hallo Markus,

    ich suche eine Möglichkeit mit der ich den Teilstring vor dem ersten "-" auslesen kann.

    z.B. 43893-hallo-wie-gehts.html
    Hier bräuchte ich "43893".

    Der Teilstring hat zwischen 1 und 7 Zeichen und es folgt stets ein "-".

    Du hast drei Möglichkeiten:

    1. Dir mittels strpos() die Position des ersten '-' zu besorgen und dann mit substr() ran:
    if (($pos = strpos ($string, '-')) !== false) {  
      $teilstring = substr ($string, 0, $pos);  
    } else {  
      // Fehler, kein '-' vorhanden  
    }
    
    1. Dir mittels explode() den String in einzelne Bestandteile aufzuteilen und dann den ersten Teil zu nehmen:
    $arr = explode ('-', $string);  
    if (count ($arr) > 1) {  
      $teilstring = $arr[0];  
    } else {  
      // Fehler, kein '-' vorhanden  
    }
    
    1. Einen regulären Ausdruck per preg_match auf den String anzuwenden und das Match dann zu nutzen:
    if (preg_match ('/^([^-]+)-/', $string, $matches)) {  
      $teilstring = $matches[1];  
    } else {  
      // Fehler, kein '-' vorhanden  
    }
    

    Viele Grüße,
    Christian

    1. Hello,

      1. Dir mittels explode() den String in einzelne Bestandteile aufzuteilen und dann den ersten Teil zu nehmen:

      [code]$arr = explode ('-', $string,2);   ## er kann nach dem ersten (bzw. 2. )Treffer aufhören
        if (count ($arr) > 1) {                  ## wenn auch geprüft werden soll, ob '-' enthalten ist

      $teilstring = $arr[0];
      } else {
        // Fehler, kein '-' vorhanden

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau