2011-12-09 3 views
2

Comment puis-je modifier ces codes pour que ma recherche corresponde également aux caractères Latin5? (Quand je questionne un mot qui commence par « C », je voudrais obtenir tous les mots commençant par la lettre « C » ou « C » ou « c » ou « C »)preg_match pour les jeux de caractères Latin5

while (preg_match("/([-]?)\"([^\"]+)\"/i", $a, $regs)) 

un autre code:

preg_match("/".$pattern."/i", remove_accents($word))) || ($common[$word] == 1) 
foreach($words['hilight'] as $change) { 
while (preg_match("~[^\>](".$change.")[^\<]~i", " ".$title." ", $regs)) { 
    $title = preg_replace("~".$regs[1]."~i", "<b>".$regs[1]."</b>", $title); 
} 
while (preg_match("~[^\>](".$change.")[^\<]~i", " ".$fulltxt." ", $regs)) { 
    $fulltxt = preg_replace("~".$regs[1]."~i", "<b>".$regs[1]."</b>", $fulltxt); 
} 
$url2 = $url; 
while (preg_match("~[^\>](".$change.")[^\<]~i", $url2, $regs)) { 
    $url2 = preg_replace("~".$regs[1]."~i", "<b>".$regs[1]."</b>", $url2); 
} 
} 

Répondre

0

utilisant str_replace fonction de php pourrait être une autre alternative pour résoudre votre problème

 $string="Put here string containing latin 5 characters"; 
     $changethis = array("I","ı","İ","ö","Ö","ü","Ü","ç","Ç","ş","Ş","ğ","Ğ"," ","\'","#","$","%","^","&","*","?"); 
     $tothis = array("i","i","_i","o","_o","u","_u","c","_c","s","_s","g","_g","","","","","","","","",""); 
     $newstring = str_replace($changethis, $tothis, "$string"); 
+0

Merci pour la réponse. Comme je peux le voir à partir des codes, "ç" remplace par "c" à droite? Dans ce cas, serai-je capable de trouver tous les mots qui commencent par "ç" "Ç" "c" et "C" ou je peux trouver seulement un mot qui commence par la lettre "c"? Deuxième question: que signifie "_c"? – user1068000

+0

Bonjour, désolé d'être en retard. il remplace tous les caractères turcs dans une chaîne. par exemple: ç à c ou Ç à _c – mustafa

Questions connexes