Aus String best. Zeichenfolge extrahieren
Nikola
- php
0 MuschPusch0 Cybaer-1 Tom
Hallo Ihr Lieben,
kann mir jemand helfen und sagen wie ich aus einem String eine bestimmte - und nur diese! - Zeichenfolge extrahieren kann?
String:
$string = "Das ist der Teststring darin [#5598] steht und noch was anderes."
Als Ergenbis soll dann folgendes herauskommen - wobei nur nach den Zahlen zwischen [# und ] gesucht werden soll ...
$ergebnis = "5598";
Geht das nicht irgendwie?
Danke für Eure Hilfe,
Die kleine Nikola :-)
www.php.net -> substr(); wäre am einfachsten wenn der String immer aus 7 Zeichen besteht. Sonst ein regulärer Ausdruck....
Gruß Volkan
Hallo nochmal,
Sonst ein regulärer Ausdruck....
das wäre glaube ich besser, da es manchmal vorkommen kann, das [#12334] mehrmals im String vorkommen kann ...
Leider kenne ich mch damit nicht aus :-((
1000 Dank für Eure nochmalige Hilfe,
Eure Niko
Hello,
Sonst ein regulärer Ausdruck....
das wäre glaube ich besser, da es manchmal vorkommen kann, das [#12334] mehrmals im String vorkommen kann ...
Ich denke, dass der reguläre Ausdruck evtl. nicht die passende Lösung ist, da die Anzahl der Ergebnisse beschränkt ist.
Dann müsste man auch eine Schleife aufbauen, bei der immer der bereits durchsuchte Teil mit Treffern abgschnitten wird.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Als Ergenbis soll dann folgendes herauskommen - wobei nur nach den Zahlen zwischen [# und ] gesucht werden soll ...
Mit strpos() nach "[#" und "]" suchen, und das, was dazwischen ist, mit substr() ausschneiden.
Oder das, was nach "[#" kommt mit intval() in eine Zahl umwandeln (und ggf. mit strval() wieder in einen String).
Oder ... ;-)
Gruß, Cybaer
Hello,
... und mit einem doppelten explode() ginge es auch.
Allerdings ist das ein Vorschlaghammerhammer gegen Reißzwecken.
Wie oft soll denn eine derartige Zeichenkette gefunden werden?
Das beste wird tatsächlich sein, den String "abzulaufen" und beim auffinden der [ einen "Schalter" umzulegen, dann nach # zu gucken, wenn das Zeichen folgt, den nächsten "Schalter" umzulegen und alle folgenden Zeichen bis zum ] auf einem Stapel abzulegen...
So ähnlich funktioniert das ja auch mit dem von Cybaer vorgeschlagenen strpos(). Da muss man ja auch darauf achten, dass strpos von [# nicht größer ist, als strpos von ]
Harzliche Grüße aus http://www.annerschbarrich.de
Tom