diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 2828b041d8799072011850d9a93574925f8cf02c..66a7ecd36bd84ce34a6ac5305d3c9f0e490e12fb 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -278,13 +278,13 @@ function typo_fr($letexte) {
 
 	$cherche1 = array(
 		/* 2 */ 	'/((^|[^\#0-9a-zA-Z\&])[\#0-9a-zA-Z]*)\;/',
-		/* 3 */		'/([:!?]|»| -,)/',
-		/* 4 */		'/(«|(M(M?\.|mes?|r\.?)|[MnN]°) )/'
+		/* 3 */		'/»|[!?]| -,|:([^0-9]|$)/',
+		/* 4 */		'/«|(M(M?\.|mes?|r\.?)|[MnN]°) /'
 	);
 	$remplace1 = array(
 		/* 2 */		'\1~;',
-		/* 3 */		'~\1',
-		/* 4 */		'\1~'
+		/* 3 */		'~\0',
+		/* 4 */		'\0~'
 	);
 
 	$letexte = ereg_remplace($cherche1, $remplace1, $letexte);