En fait, on ne passe jamais dans la boucle else parce que celle-ci
s'applique au if(preg_match_all...
alors qu'elle devrait s'appliquer au if($flag_pcre)
Il faut donc ajouter les accolades
if ($flag_pcre) {
if (preg_match_all("/$regexp_echap/", $letexte, $regs, PREG_SET_ORDER))
{
while (list(,$reg) = each($regs)) {
$num_echap++;
$les_echap[$num_echap] = $reg[0];
//echo htmlspecialchars($reg[0])."<p>";
$pos = strpos($letexte, $les_echap[$num_echap]);
$letexte =
substr($letexte,0,$pos)."@@SPIP_$source$num_echap@@"
.substr($letexte,$pos+strlen($les_echap[$num_echap]));
}
}
}