Mailinglisten-Archive |
>1,2,'test',3,'$richtig = true; echo $richtig;' => true >1,2,'test',3,'$richtig = \'fettes essen\'' => true >1,2,'test',3,'$richtig = \'"fettes" essen\'' => true >1,2,'test',3,'$richtig->essen(\'fettarmes\', \'essen\', true)' => true >... auch hier sollten Fehler keine exeption werfen >sondern korrigiert werden! > anders gesagt: eine liste von komma getrennten werten... ergibt false, wenn ein feld keine zahl ist und nicht mit ' anfaengt bzw. aufhoert oder keine zahl ist und mit ' anfaeng und aufhoert und ' enthaelt, dem kein backslash vorangestellt ist... ;-) also... 1. mit explode() liste in einzelne felder aufsplitten... 2. jeder feld durchlaufen, und schauen, ob es keine zahl ist (is_nan() oder /[^\d]/) 3. diese felder nehmen und trim() anwenden... 4. schauen ob $str{0} != "'" ==> ' davor setzen 5. schauen ob $str{strlen($str)-1} != "'" ==> ' dahinter setzen 6. mit regex innerhalb des substring (2. zeichen bis vorletztes zeichen) ob ' ohne \ davor auftaucht (/[^\\]'/) ==> addslashes machen aus substring machen... man kann - muss aber nicht alles mit einem regex erschlagen... mach es besser so, dass es andere auch verstehn... und wenn du schon probleme mit dem regex hast, dann wird es anderen, die sich vielleicht mal deinen code anschauen genauso gehen... und das ist ja nicht so toll... (jeder der das mal machen MUSSTE, weiss das ;-) gruss t.r
php::bar PHP Wiki - Listenarchive