Hello,
je débute avec les regex.
j'ai voulu ajouter un espace insécable ( 
devant les caractères ":" de mes textes. Après quelques lectures de tuto, j'ai écris ça :
$string = eregi_replace("([ ]*)([:]{1})", " \\2", $string);
qui signifie : remplacer l'(es) espace(s) qui précéde(nt) le caractère ":" par " " (\\2 fait référence au contenu du 2ème couple de parenthèses donc ":", ce qui donne " :").
ok, ce script fonctionne
Cependant je viens de m'apercevoir qu'il altére les urls, normal puisqu'ils/elles contiennent ":" (http://www.developpez.com), dommage car maintenant tous mes liens sont morts (http ://www.developpez.com).
je cherche donc à remplacer seulement les ":" qui ne sont pas précédés de "http", je n'ai pas trouver de solution correcte.
je pensais que
$string = eregi_replace("([^(http)][ ]*)([:]{1})", " \\4", $string);
fonctionnerait mais non.
Avez-vous une idée ?
merci pour votre aide.
Partager