Hi Mike,
ja, hab's auch gerade gemerkt. Aber die Vereinfachung bringt mir jetzt leider nichts mehr, da noch ein bisschen was dazugekommen und man die Vereinfachung nicht mehr durchführen kann.
Kurze Erklärung was passieren soll. Ich bastel nen kleinen Parser in php. Zuerst mal wird alles in Token zerlegt. Nun kommen im Text folgende Fälle vor (was der Scanner findet):
<Was gefunden wird>
<Rückgabe der Funktion>
- 2 2
- 2.00 2.00
- 2. 2.
- 2..0 2.
Im Moment sieht das ganze so aus:
Code:
private function recognize_number($recognize_first_point) {
$tmp = '';
$point_cnt = 0;
while (true) {
if ($recognize_first_point) {
if (!is_numeric($this->get_char()) && $this->get_char() != '.') {
break;
}
if ($this->get_char() == '.') {
$point_cnt++;
}
if ($point_cnt > 1) {
break;
}
}
else if (!is_numeric($this->get_char())) {
break;
}
$tmp .= $this->get_char();
$this->inc_pos();
}
return $tmp;
}
Da kann man bestimmt auch noch was vereinfachen. Mal sehen. Noch ist ja nicht aller Tage Abend