Position actuelle: Accueil> Derniers articles> str_shuffle () et str_replace () combiner pour implémenter le remplacement des caractères

str_shuffle () et str_replace () combiner pour implémenter le remplacement des caractères

gitbox 2025-05-29

En PHP, le traitement des chaînes est une tâche très courante dans le développement quotidien. str_shuffle () et str_replace () sont deux fonctions très polyvalentes, utilisées pour gâcher les chaînes et remplacer certaines parties de chaînes, respectivement. Cela peut sembler simple, mais s'il est utilisé en combinaison, il peut produire des effets très pratiques et même intéressants. Cet article vous montrera quelles techniques de traitement des chaînes peuvent être implémentées après leur combinaison.

Revue de base: les utilisations de deux fonctions

 $str = "hello world";
echo str_shuffle($str); // Par exemple, sortie:lwrol lohed

str_shuffle () perturbera l'ordre des caractères dans une chaîne. Notez que c'est une perturbation au niveau du caractère et le résultat est imprévisible.

 $str = "Hello World!";
echo str_replace("World", "PHP", $str); // Sortir:Hello PHP!

str_replace () remplace une partie du contenu de la chaîne cible avec un nouveau contenu. Très adapté au remplacement du modèle, au filtrage des mots sensible et à d'autres opérations.


Conseils 1: Scrambler de code de vérification simple

Nous pouvons combiner str_replace () et str_shuffle () pour créer un code de vérification simple "Scrambler". Supposons que vous ayez une chaîne de code de vérification qui doit ajouter des caractères interférentes et perturber l'ordre, ce qui rend plus difficile pour l'utilisateur d'être reconnu par la machine.

 $code = "8273";
$obfuscate = str_replace(
    ["2", "3"],
    ["X2", "Y3"],
    $code
);
$shuffled = str_shuffle($obfuscate);
echo $shuffled;

La sortie peut être une forme perturbée de x2y3827 , comme 3x287y2 . Cette méthode de traitement peut être utilisée pour créer des sources de données pour les codes de vérification graphique frontale.


Compétence 2: Le contenu du modèle est perturbé (masquer les vraies intentions)

Si vous travaillez sur un modèle HTML et que vous devez masquer temporairement le contenu clé, vous pouvez remplacer les champs importants par str_replace () , puis gâcher la chaîne par str_shuffle () . De cette façon, même si quelqu'un vérifie le code source, il est difficile de comprendre la structure réelle.

 $template = '<a href="https://gitbox.net/download">Cliquez pour télécharger</a>';
$masked = str_replace("download", "PLACEHOLDER", $template);
$obfuscated = str_shuffle($masked);
echo htmlspecialchars($obfuscated);

Bien que le contenu de sortie soit déroutant, vous pouvez inverser la restauration tant que vous enregistrez la structure du modèle d'origine. Cela peut également jouer un rôle anti-fabricant de base dans certains scénarios de sécurité.


Conseils 3: générer des liens ou des codes d'invitation personnalisés

Nous pouvons d'abord remplacer le nom d'utilisateur ou l'adresse e-mail par des espaces réservés, puis gâcher toute la chaîne, générant un "code d'invitation" unique ou un lien déguisé.

 $base = "https://gitbox.net/register?user=USERNAME";
$link = str_replace("USERNAME", "john_doe", $base);
$invite_code = str_shuffle($link);
echo $invite_code;

Le lien généré de cette manière a à la fois des informations originales et n'est pas facilement deviné. Il peut être utilisé comme moyen d'inviter des événements non publics.


CONSEILS 4: Traitement des cordes pseudo-estimé (pour le divertissement uniquement)

Bien que Str_Shuffle () ne convient pas comme un outil de chiffrement, combiné avec str_replace () , une sorte de "pseudo cryptage" peut être effectué pour masquer l'entrée de l'utilisateur.

 $input = "my_password";
$masked = str_replace(
    ["a", "o", "s"],
    ["@", "0", "$"],
    $input
);
$pseudo_encrypted = str_shuffle($masked);
echo $pseudo_encrypted;

Sortie par exemple: la forme perturbée de m $ _p @ w0rdy . Bien qu'il ne soit pas un cryptage sécurisé, il est suffisant pour une utilisation dans les jeux ou les applications amusantes.


Conseils 5: Nettoyage des données et perturbation du format (empêchez les mots sensibles d'être capturés)

Lorsque vous traitez avec le système de commentaires ou le filtrage des mots sensibles, vous pouvez d'abord remplacer le mot sensible, puis perturber le stockage de contenu, pour les situations où il n'est pas affiché directement mais doit être archivé.

 $comment = "Ce produit est vraiment mauvais";
$filtered = str_replace("pauvre", "**", $comment);
$encoded = str_shuffle($filtered);
echo $encoded;

Cela remplace non seulement les mots sensibles, mais perturbe également la structure de la phrase. Même si la base de données est divulguée, la signification d'origine sera difficile à restaurer.