OVH Cloud OVH Cloud

Regexp ?;:! sauf ://

3 réponses
Avatar
Laurent Seguin
Salut,

J'utilise la regexp suivante ([ ]*)([?!:;]{1}) dans un eregi_replace() pour
forcer un espace insécable avant les points de ponctuation double mais
comment exclure le :// des url's ?

J'ai essayé avec une assertions négative avant ?<! mais ca veut pas ; je
suis donc obligé de passer derrière avec des str_replace de tous les
protocoles (http&nbsp;:// => http://, ftp&nbsp;:// => ftp://, etc.) et
c'est pas vraiment tip top :-(

Merci.

3 réponses

Avatar
P'tit Marcel
Laurent Seguin écrivit:
J'utilise la regexp suivante ([ ]*)([?!:;]{1}) dans un eregi_replace()
pour forcer un espace insécable avant les points de ponctuation double
mais comment exclure le :// des url's ?

J'ai essayé avec une assertions négative avant ?<! mais ca veut pas ;


sauf erreur ça n'existe que pour les regex à la mode Perl.

de toutes façons, tu devrais plutôt employer preg_replace qui est a priori
plus rapide et plus complet. ça donnnerait sauf erreur :

'`(S)(s)*([?!:;])(?!//)`'
(on peut aussi mettre ?<= au début de la 1° parenthèse pour frimer :-)

a+
--
P'tit Marcel
statistiques sur les forums modérés : http://www.centrale-lyon.org/ng/

Avatar
Laurent Seguin
"P'tit Marcel" , le 04 oct.
2003 19:30:15, écrivait ceci:

J'utilise la regexp suivante ([ ]*)([?!:;]{1}) dans un
eregi_replace() pour forcer un espace insécable avant les points de
ponctuation double mais comment exclure le :// des url's ?

J'ai essayé avec une assertions négative avant ?<! mais ca veut pas ;


sauf erreur ça n'existe que pour les regex à la mode Perl.

de toutes façons, tu devrais plutôt employer preg_replace qui est a
priori plus rapide


Ah ? Je ne vois pas de grande différences sur des textes moyens (1000
lignes)

et plus complet.


Ca c'est sur :-)

ça donnnerait sauf erreur :
'`(S)(s)*([?!:;])(?!//)`'


Merci, je vais essayer, une fois que je l'aurais compris ;-)


Avatar
P'tit Marcel
Laurent Seguin écrivit:

ça donnnerait sauf erreur :
'`(S)(s)*([?!:;])(?!//)`'


Merci, je vais essayer, une fois que je l'aurais compris ;-)
^^^

Rassure-toi, je ne comprends pas plus quand je me relis, on dirait des
smileys écrits par un parkinsonien...


--
P'tit Marcel