Comment supprimer les caractères invisibles en php : ouvrez d'abord le fichier de code php en arrière-plan ; puis supprimez les caractères Unicode invisibles directement via la méthode "preg_replace($pattern, "", '');"
Recommandé : "Tutoriel vidéo PHP"
php supprime les caractères Unicode invisibles
Dans les forums/communautés, le titre d'un post/article général ne doit pas être vide, mais aujourd'hui j'ai découvert une chose magique j'ai empêché le titre d'être vide dans le code php en arrière-plan.
if(preg_match('/^\s*$/', $val)) return false;
Mais comme par magie, j'ai découvert que les titres de plusieurs articles dans la base de données étaient vides (ça se regardait)
et j'ai cliqué sur la souris pour le sélectionner. Il était effectivement vide. Cependant, lors de l'impression via var_dump, j'ai constaté que ce "caractère nul" occupe trois longueurs
La dernière personne à avoir trouvé cette chaîne était "u200e", dans l'éditeur de Seventeen Degrés Ce qui est affiché est un symbole comme celui-ci.
Alors la chaîne copiée est bien une chaîne vide, donc je ne peux trouver qu'un moyen de la supprimer.
$pattern = "/[\x{007f}-\x{009f}]|\x{00ad}|[\x{0483}-\x{0489}]|[\x{0559}-\x{055a}]|\x{058a}|[\x{0591}-\x{05bd}]|\x{05bf}|[\x{05c1}-\x{05c2}]|[\x{05c4}-\x{05c7}]|[\x{0606}-\x{060a}]|[\x{063b}-\x{063f}]|\x{0674}|[\x{06e5}-\x{06e6}]|\x{070f}|[\x{076e}-\x{077f}]|\x{0a51}|\x{0a75}|\x{0b44}|[\x{0b62}-\x{0b63}]|[\x{0c62}-\x{0c63}]|[\x{0ce2}-\x{0ce3}]|[\x{0d62}-\x{0d63}]|\x{135f}|[\x{200b}-\x{200f}]|[\x{2028}-\x{202e}]|\x{2044}|\x{2071}|[\x{f701}-\x{f70e}]|[\x{f710}-\x{f71a}]|\x{fb1e}|[\x{fc5e}-\x{fc62}]|\x{feff}|\x{fffc}/u"; $str = ''; // 三个长度 $str = preg_replace($pattern, "", ''); var_dump($str); // 0长度
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!