J'ai remarqué qu'il y a beaucoup de choses que vous pouvez faire avec le php filtre_var code>
fonction qui peut également être effectué avec une autre fonction. P>
Par exemple, les filtres Quand dois-je utiliser filtre_validate_regexp code>,
filtre_sanitize_encode code> et beaucoup plus ont aussi leurs fonctions dédiées respectives dans PHP. P>
filtre_var code> et quand dois-je utiliser les fonctions PHP? Quels sont les avantages et les inconvénients? P>
3 Réponses :
L'avantage du filtre code>
extension est que vous avez tout au même endroit.
Mais vous avez raison, cela ne fournit pas beaucoup de fonctionnalités nouvelles. Vous pouvez faire la plupart des éléments avec les fonctions existantes, en particulier Il y a cependant J'admets que c'est essentiellement un exemple de magic_quotes déclenché, mais vous obtenez la photo . Unification. P> p> preg_replace code>
ou preg_match code>
au lieu de filtre_validate_regexp code>. Ou en utilisant et en utilisant la normale
htmlspecialchars code>
au lieu de l'option de filtrage. P> filtre_var_array code>
, où une prestation devient apparente. Vous pouvez filtrer des charges de variables par configuration. Et vous pouvez prédéfinancer une liste de filtres à appliquer
à ce jour, je n'ai pas trouvé de manière plus rapide (ou meilleure) de retirer des caractères spéciaux d'une chaîne que d'utiliser filter_var comme beaucoup de choses dans PHP, il existe plusieurs façons de les faire. filtre_var est pratique. p> p>
Est-ce que cela tient pour chaque fonction filtrante_var qui a un autre équivalent intégré? Ou est-ce seulement pour ce filtre?
Oui, bien pour les versions liées à la chaîne. Jetez un coup d'oeil ici, vous verrez filtrer_flag_strip_high s'applique à certains
Susceptibles de compenser le vote. Je pense que c'est une solution valide et souvent négligée.
Je viens d'exécuter un benchmark microtime côte à côte 50 fois contre Toutefois, si vous aimez le code de nettoyage agréable et que vous ne vous souciez pas vraiment de fonctionnement, utilisez mais ce type de facilité peut également être obtenu en écrivant un http: //blog.php-security.org/archives/76-holes-in- plus-preg_match-filters.html P> J'aimerais voir une compassion d'utilisation de la mémoire sur les deux. < / p> espère que cela aide p> p> Preg_Match code> dans un
si code> instruction et
filtre_var_array code> Validation des mêmes données de réinitialisation exactes, Voici les résultats Microtime:
filtre_var_array code> est joli mais 4 à 8 fois plus lent que
preg_match code> donc si vous avez un trafic élevé Site Web et préférez le code rapide, je recommanderais
Preg_Match Code>. P>
filtre_var_array code> qui peuvent être plus faciles à gérer pour appliquer des filtres simples sur de nombreuses demandes et entrées de formes. p>
Preg_Match Code> Fonction pour différents scénarios tels que le courrier électronique ou alphanumérique mais garder à l'esprit
preg_match code> Sécurité lors de l'écriture de la regex par exemple: p>
L'optimisation prématurée est la racine de ..., vous savez.
Utilisez PHP_Filter à tout moment, il est intégré (peu plus rapide et vous êtes sûr d'utiliser la bonne validation), si vous ne trouvez pas ce dont vous avez besoin, utilisez-en une sur mesure.
Je ne parlais pas de fonctions personnalisées, car la fonction intégrée sera toujours plus rapide. Je parlais de filtres qui ont déjà une alternative de fonction PHP natif.
Je comprends, mais si vous utilisez un Preg_Match, vous devrez personnaliser la RegExp - je aurais dû dire, DIREGUSMISSE REGEXP avec Preg_Match Désolé de la confusion
Mais avec filtre_validate_regexp, vous devez également personnaliser le Regexp. Bien entendu, utiliser Regexp pour valider une adresse électronique est beaucoup plus lente que Filter_Validate_Email!
@Tiddo: filtre_validate_email utilise une regex en interne. Github.com/php-src/ blob / maître / poste / filtre / ...
Mais probablement déjà compilé et donc plus rapide.