Normalement, je voudrais juste faire cela.Remplacer "abc123def" par "abc 123 def" dans la chaîne multi-octets
$str = preg_replace('#(\d+)#', ' $1 ', $str);
Si je savais que ça allait être utf-8 Je voudrais ajouter un minuscule « u » modificateur au modèle et je pense que je serais bon. Mais à cause des rapports d'utf-8 prenant 2x et dans certains cas 3x l'espace de stockage que cela prendrait si le jeu de caractères natif était utilisé, j'essaye de ne pas restreindre l'application à utf-8. Ainsi, j'essaie de rester loin de mes fonctions preg préférées.
La plupart des choses ont été assez simples jusqu'ici, mais je suis un peu bloqué sur les remplacements où j'utiliserais normalement des classes de caractères dans preg_ comme "\ d".
Je pense que ce que je vais finir par faire ici, c'est continuer avec le script de telle sorte que toutes les fonctionnalités de base continueront à utiliser les fonctions mb_ de telle sorte que l'encodage puisse être changé, et marquez quelques fonctionnalités avancées pour qu'elles ne soient disponibles que lorsque le codage actif est utf-8. – joebert