Bonjour,

J'essaye désespérément d'écrire cette regexp qui fait l'équivalent de nl2br en php soit transformer les retours à la ligne \n en <br />, alors ok c'est facile, d'ailleurs même c'est fait : (trouvé sur le net)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
nl2br: function (str) {
 
	 	var br = '<br />';
 
		return str.replace(/([^>]?)\n/g, '$1' + br + '\n');
Mais la particularité sur laquelle j'essaye d'intervenir c'est :
si les retour à la ligne sont à l'intérieur d'un <pre></pre> je souhaiterai ne pas appliquer la fonction et la ben j'y arrive pas

la logique que j'applique :

remplacer les \n dans un <pre> en ##n##
appliquer nl2br
puis rétablir ##n## en \n


mais pas moyen de capturer ces fameux \n

Code : Sélectionner tout - Visualiser dans une fenêtre à part
str = str.replace(/<pre>((\n)*([^<\/pre>|\n ]*)(\n)*)*<\/pre>/g, '<pre>1:$1 2:$2 3:$3 4:$4 5:$5</pre>');
Quelqu'un qui serai à l'aise avec les regexp pourrai peut être me venir en aide ?

Merci