Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2007, 11h47   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 2
Points : 2
Par défaut ereg_replace : Récupération du nombre d'occurences

Bonjour à tous,

je souhaite remplacer les espaces en début de lignes d'une chaine de caractères par des  . Pour cela, j'utilise :

Code :
ereg_replace("(\n)[:space:]*","\\1 ",$string)
J'aimerais cependant savoir combien il y a d'espaces, afin d'insérer le bon nombre de  

Quelqu'un peut m'aider ?

Merci
ntodesco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 13h23   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Je vous recommande vivement de vous intéresser à l'extension PCRE (preg_*) plutôt que les fonctions POSIX (ereg*). Ces dernières sont beaucoup moins performantes et moins souples. De plus, elles ne feront plus partie du core.

C'est réalisable si vous faites appel à la fonction preg_replace_callback voir avec une évaluation du code du deuxième paramètre de la fonction preg_replace (modificateur e). Exemple :
Code :
1
2
3
4
5
6
function my_preg_callback($matches) {
    return "\n" . str_repeat(' ', strlen($matches[0]) - 1);
}
 
$out = preg_replace_callback('~\n[[:blank:]]*~s', 'my_preg_callback', $in);
echo $out;
(vous pouvez aussi ancrer les nouvelles lignes avec l'option m)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 17h51   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 2
Points : 2
Ca fonctionne très bien

Merci !
ntodesco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h36.


 
 
 
 
Partenaires

Hébergement Web