2010-11-11 3 views
1

Est-ce correct de le faire s'il vous plaît?PHP accédant à String vars en tant que Array et en changeant la valeur

for($i=0;$i<strlen($str);$i++) 
{ 
    if(!in_array($str[$i],$arAllowedCharset)){$str[$i]='';} 
} 
return $str; 

Il fonctionne, mais je ne suis pas sûr si je suis « permis » de le faire, à savoir $str[$i]='';.
Remarque: $str est une variable de chaîne, $arAllowedCharset est un tableau contenant uniquement des caractères alphanumériques et un tiret. Je l'utilise pour mettre en forme les URL soumises par les utilisateurs dans un CMS personnalisé.

Merci.

Répondre

5

Il serait plus facile de vérifier et de corriger l'URL avec une expression régulière. Par exemple

$str = preg_replace('#[^a-z0-9-]#i', '', $str); 
+0

Salut, merci. Je ne savais pas si ça valait la peine de mettre le feu au moteur RegExp juste pour ça. – Francisc

Questions connexes