[ mega023 @ 01.08.2005. 23:34 ] @
Imam string u kome ima slova, brojeva i specijalnih karaktera (tacke, crtice, specijalni znaci)

Zanima me kako na najlaksi i najbrzi nacin mogu da "ocistim" string da mi u njemu ostanu samo brojevi, velika i mala slova?

ima li ko ideju

hvala unapred
[ mega023 @ 01.08.2005. 23:52 ] @
mislim da sam pronasao odgovor

Code:

<?PHP
//-------------------------------------------------------------------
//allowed chars from 48-57,65-90,97-122 AKA 0-9, A-Z, a-z
//-------------------------------------------------------------------
function isAlphaNumeric($checkThisString){
   $result = true;
   $i=0;
   while($i<strlen($checkThisString) && $result){
       $char = substr($checkThisString,$i,1);
       $charNum = ord($char);
       if( !(($charNum>47 && $charNum < 58) || ($charNum>64 && $charNum < 91) || ($charNum>96 && $charNum < 123)) )
           $result = false;        
       $i++;
   }
   return $result;
}
?>


ova skripta samo detektuje
ali uz malu prepravku ce i brisati karaktere koji nisu u pomenutom intervalu (slova i brojevi)
[ bzero @ 08.08.2005. 13:10 ] @
Najlaksi i nabrzi nacin je verovatno preko regualrnih izraza:

Code:

$string = preg_replace('/\W/', '', $string);


Ovo ce skloniti sve osim slova, brojeva i underscorea (_). Ukoliko ti bas smeta underscore:

Code:

$string = preg_replace('/[^a-z0-9]/i', '', $string);