J'essaie de remplacer plusieurs espaces par un seul espace. Quand j'utilise ereg_replace
, j'obtiens une erreur à ce sujet étant obsolète.php Remplacer plusieurs espaces avec un seul espace
ereg_replace("[ \t\n\r]+", " ", $string);
Y at-il un remplacement identique pour cela. J'ai besoin de remplacer plusieurs espaces blancs " "
et plusieurs espaces blancs nbsp
avec un seul espace blanc.
@Cletus: Celui-ci remplacerait un seul espace par de l'espace. Ne pensez-vous pas quelque chose comme: preg_replace ('/ (?: \ S \ s + | \ n | \ t) /', '', $ x) sera plus * efficace * surtout sur du texte avec plusieurs espaces simples? – codaddict
@codaddict: par hasard, il y a un instant, j'ai comparé ceux sur des données réelles, résultat (pour les appels sur ~ 8300 articles de texte différents): '/ (?: \ S \ s + | \ n | \ t) /' = > 1410 (le plus lent), '/ \ s + /' => 611 (ok'ish), '/ \ s \ s + /' => 496 (le plus rapide). Le dernier ne remplace pas le simple '\ n' ou' \ t', mais c'est bon pour mon cas. – Frunsi
/\ s {2,}/u '- si vous avez un problème d'UTF-8, ajoutez/u pour passer d'unicode à – user956584