Zoeken met en zonder special characters

Status
Niet open voor verdere reacties.

winelover

Gebruiker
Lid geworden
8 mrt 2007
Berichten
72
Hoi,

Ik heb een aantal namen in een database staan waar zowel West-Europese tekens als Oost-Europese tekens in staan. Ze worden met htmlspecialchars_encode() naar de database geschreven en op de pagina geschreven met htmlspecialchars_decode().

Nu is het zo dat ik wil zoeken op namen/woorden, maar dan moet elk accent achterwege gelaten kunnen worden.
Dus al ik het woord 'überhaupt' wil zoeken moet ik dat kunnen zoeken door ofwel 'über' ofwel 'uber' in te voeren.
Weet iemand hoe ik dat kan doen?

Winelover
 
Je zal lijsten moeten aanleggen let op dat je ook ascii waarden kan hebben
Je vertaalt de woorden en gebruikt de find_OR

PHP:
        function find_OR(&$data,$tofind){
            if(is_array($tofind)){
                foreach($tofind as $value){
				    if(strpos($data, $value)){
				        return true;
				    }
                }
                return false;
            }else{
                return strpos($data, $tofind);
            }
        }
        function find_AND(&$data,$tofind){
            if(is_array($tofind)){
                foreach($tofind as $value){
				    if(!strpos($data, $value)){
				        return false;
				    }
                }
                return true;
            }else{
                return strpos($data, $tofind);
            }
        }
en de convertor ziet er dan ongeveer zo uit deze neemt u best vast al over om voor dat u het in de database stopt. Zie sql injectie en ect.
niet copy paste gebruiken omdat ik een aanpassing diende te doen om het juist af te beelden
PHP:
function illegalcharconverter($str){
    $chars=array("&"    ,"<"   , ">"   ,"!"    ,'"'    ,","    ,"$"    ,"'"    ,"*"    ,"+"   );
    $ascii=array("&#38;","&lt;", "&gt;","&#33;","&#34;","&#44;","&#36;","&#39;","&#42;","&#43;");
    return str_replace($chars,$ascii , $str); 
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan