diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 8b666daf9fa0acb12bd0fce227fab86f5088d67f..fccf26bf2256b7016d97f3f6d7e99d2f1d5e762a 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -408,8 +408,8 @@ function extraire_lien ($regs) { // petites corrections d'URL if (ereg("^www\.[^@]+$",$lien_url)) $lien_url = "http://".$lien_url; - else if (email_valide($lien_url)) - $lien_url = "mailto:".trim($lien_url); + else if (strpos($lien_url, "@") && email_valide($lien_url)) + $lien_url = "mailto:".$lien_url; } $insert = "<a href=\"$lien_url\" class=\"spip_$class_lien\"" @@ -475,7 +475,7 @@ function traiter_listes ($texte) { $ajout .= "<li class=\"spip\">"; $pile_li[$profond] = "</li>"; } - else { + else { $ajout = "\n-"; // puce normale ou <hr> } @@ -624,7 +624,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = ' $lineEnd = strpos($textTable, "|\n"); } $newTextTable .= "</table>\n<p>\n"; - + $letexte = $textBegin . $newTextTable . $textEnd; $tableBeginPos = strpos($letexte, "\n\n|"); @@ -642,7 +642,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = ' $letexte = trim($letexte); - + // les listes if (ereg("\n-[*#]", "\n".$letexte)) $letexte = traiter_listes($letexte); diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 37b9e5b2bf9acd31439f075ab9afcb6954ec711b..96326459cc9feeee2a62ea8859f537191925b75a 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -628,7 +628,8 @@ function email_valide($adresse) { $adresses = explode(',', $adresse); if (is_array($adresses)) { while (list(, $adresse) = each($adresses)) { - if (!eregi("^[-!#\$%&'*+\\./0-9=?a-z^_`{|}~]+(@([-0-9a-z]+\.)*[-0-9a-z]+)?$", trim($adresse))) + // RFC 822 + if (!eregi('^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)?$', trim($adresse))) return false; } return true;