unglaublich
New member
Kleines Problemchen.
Allerdings geht bei dem Code Soldaten und Reichweite unter weil am Ende kein Leerzeichen ist (einfach den text markieren dann sieht man es schon). Allerdings weiß ich nicht wie ich es definieren soll im regex. Und den Benutzern sagen sie sollen Leerzeichen manuel einfügen ist keine Lösung. Mit trim und preg_replace hab ich es auch schon probiert, funzt nicht, oder ich setz es falsch ein.
So wird es im Code später eingebaut
Weil ich nen SQL Insert mache.
Ich hoffe ihr könnt mir helfen.
PHP:
$input = "Kosten: Metall:850 Kristall:350 Soldaten:30
Panzerung:57
Rumpfgröße:1 Agilität:70,00%
Geschwindigkeit:8pc/h Reichweite:4pc
Verbrauch:5/h Kapazität:5
Bauzeit: 00:20:00";
PHP:
$matches = array();
$pattern = '~(.+):(.*[ ])~U';
preg_match_all($pattern, $input, $matches, PREG_SET_ORDER);
print_r($matches);
Allerdings geht bei dem Code Soldaten und Reichweite unter weil am Ende kein Leerzeichen ist (einfach den text markieren dann sieht man es schon). Allerdings weiß ich nicht wie ich es definieren soll im regex. Und den Benutzern sagen sie sollen Leerzeichen manuel einfügen ist keine Lösung. Mit trim und preg_replace hab ich es auch schon probiert, funzt nicht, oder ich setz es falsch ein.
So wird es im Code später eingebaut
PHP:
echo search_match('Soldaten', $input); ## zum testen
function search_match ($x, $input) {
$matches = array();
$pattern = '~(.+):(.*[ ])~U';
preg_match_all($pattern, $input, $matches, PREG_SET_ORDER);
foreach ($matches as $array => $key ) {
foreach ($key as $subkey => $value) {
if ($x == $value) {
return $matches[$array][$subkey + 1];
}
}
}
}
Weil ich nen SQL Insert mache.
Ich hoffe ihr könnt mir helfen.