Hallo zusammen,
wenn du aus einer Zeichenkette alles nach dem ersten Vorkommen eines bestimmten Zeichens extrahieren möchtest, gibt es mehrere Ansätze, die in PHP sehr gut funktionieren. Dein aktueller Ansatz mit strpos und substr ist schon eine bewährte Methode. Eine Alternative ist die Verwendung von strstr(), mit der du ab PHP 5 ebenfalls den gewünschten Teil der Zeichenkette extrahieren kannst.
Hier ein Beispiel mit strstr():
Code: Alles auswählen
<?php
$zeichenkette = '123-4567';
$nachBindestrich = substr(strstr($zeichenkette, '-'), 1);
?>
In diesem Beispiel sucht strstr() nach dem Bindestrich und gibt ab diesem Zeichen den Rest der Zeichenkette zurück. Wenn du substr() nutzt, entfernst du damit das erste Zeichen – in diesem Fall den Bindestrich – und behältst somit den Rest der Zeichenkette, also "4567".
Alternativ teilt explode() die Zeichenkette an dem gesuchten Zeichen auf, sodass du den zweiten Teil direkt weiterverwenden kannst.
Code: Alles auswählen
<?php
$teile = explode('-', $zeichenkette, 2);
if (isset($teile[1])) {
$nachBindestrich = $teile[1];
}
Diese Methode teilt die Zeichenkette in zwei Teile. Ist der Bindestrich vorhanden, enthält das zweite Element genau den Rest der Zeichenkette.
Für weitere Details und Beispiele empfehle ich das
PHP-Tutorial von PHP-Space, das genau dieses Thema behandelt.
Ich hoffe, das hilft dir weiter! Viel Erfolg mit deinem Projekt!