String in php "beschneiden"

Hallo und guten Tag liebe/r Experte/in,

ich hab gerade einen hänger und komme einfach, trotz langen suchensn nicht weiter.

Ich habe folgende Werte in verschiedenen Variablen stehen

$a = „KWP=762500“
$b = „WR = var AnzahlWR = 61KW = #Date;Inv:stuck_out_tongue_winking_eye:ges“
$c = „KW = 22.06.13;0;1429203“

ich möchte die Strings nun so kürzen daß ich am ende

$a = „762500“
$b = „61“
$c = „1429203“

bekomme.

Also bei $a einfach alles ausser Ziffern entfernen

Bei $b die Zahl vor KW (kann ein- und zweistellig sein)

Und bei $c alles nach dem letzten ;

Wer kann mir helfen? ich steh einfach im moment auf dem Schlauch.

Gruß und Danke im voraus
Leibnitz … mehr auf http://w-w-w.ms/a4bx0f

Hallo Leibniz,

preg_match ist Dein Freund! :wink:

Beispiel1:
if (preg_match(’/KWP=(\d*)/si’, $a, $gefunden_in_a)) {
$a_neu = $gefunden_in_a[1];
} else {
$a_neu = „“;
}

Fall2:
if (preg_match(’/.*?(\d*)KW.*/si’, $b, $gefunden_in_b)) {
$b_neu = $gefunden_in_b[1];
} else {
$b_neu = „“;
}

Und #3 lasse ich als „Übung für den Leser“ mal offen :wink:

Viel Erfolg!

P.S: um das Gebiet der regulären Ausdrücke kennenzulernen (und auch später, um Ausdrücke einfach zu konstruieren und direkt den PHP-Code wie in den Beispielen zu generieren) empfehle ich http://u.mbaas.de/rx

Hallo,

auf die schnelle ist mir leider nur eine relativ simple lösung eingefallen. die ersten beiden strings kann man recht gut mit einem regulären ausdruck auslesen. den letzten habe dann per explode gesplittet und den letzten teil genommen.

<?php $a = "KWP=762500";
$b = "WR = var AnzahlWR = 61KW = #Date;Inv:stuck\_out\_tongue\_winking\_eye:ges"; $c = "KW = 22.06.13;0;1429203"; $pattern = '/[0-9]+/'; preg\_match($pattern, $a, $treffer); echo $treffer[0] . " "; preg\_match($pattern, $b, $treffer2); echo $treffer2[0] . " "; $treffer3 = explode(';', $c); echo $treffer3[2] . " "; ?\>

hallo, ich bin gerade im Urlaub, aber versuche mal ein paar Tips zu geben.(die ich natürlich nicht grossartig ausgetested habe…) Prinzipiell würde ich einfach da die php funktion preg_match benutzen und z.B. mit einem string wie /[0-9]*]/ die Ziffern raussuchen.
wenn Du ne ausführlichere Auskunft brauchst kann ich mich in einer Woche nochmal melden, wenn ich zurück bin.

Gruß, Jens Ellerbrock