phpbar.de logo

Mailinglisten-Archive

[php] Ereg Experten ?

[php] Ereg Experten ?

Guido Haeger GH-lists_(at)_ecora.de
Tue, 27 Jun 2000 14:37:28 +0200


oliver.haeuser schrieb

> Aber wie loese ich das. Die Zeilen koennen beliebig lang sein, also
ein
> 456,45-567,345,543-234
> ist ebenfalls moeglich.
> (beim zweiten ereg stehen noch ein paar mehr zahlen drin ...)
>
> Oder waere es sinnvoll zu pruefen ob ein , vorhanden ist - wenn ja das
> ganze mit explode trennen
> und nach - suchen und dann die eregs anwenden ?

Ja, das erscheint sinvoll,

$string = "11, 126-129,745,123,  345-347, 498 -511, 14, 784s-784";
$string = str_replace(" ", "", $string);
$parts = explode(",", $string);
$max = count($parts);
for($c = 0; $c < $max; $c++)
{
 if(preg_match("=^[0-9]{1,3}$=", $parts[$c]))
 {
  $zahlenreihe[] = $parts[$c];
 }
 elseif(preg_match("=^([0-9]{1,3})-([0-9]{1,3})$=", $parts[$c], $x))
 {
  for($i = $x[1]; $x[1] <= $x[2]; $x[1]++)
  {
   $zahlenreihe[] = $x[1];
  }
 }
 else
 {
  $msg .= "Fehlerhafte Eingabe ($parts[$c]).<br>\n";
 }
}
sort($zahlenreihe);
$zahlenreihe = implode(" ", $zahlenreihe);
echo $msg.$zahlenreihe;

Guido Haeger



php::bar PHP Wiki   -   Listenarchive