Christian Seiler: Teilstring auslesen (vor bestimmten Zeichen)

Beitrag lesen

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