]*\s+href=["\'])' .
'(?:' . $url['scheme'] . '://' . $url['host'] . ')?' .
$url['path'] . '([^"\']*)@ims';
$page = preg_replace($re, '\\1\\2', $page);
preg_match_all(_SECTIONS_AIDE, $page, $sections, PREG_SET_ORDER);
// Fusionner les aides ayant meme nom de section
$vus = array();
foreach ($sections as $section) {
list($tout, $prof, $sujet, ) = $section;
if (in_array($sujet, $vus)) {
continue;
}
$corps = aide_section($sujet, $page, $prof);
foreach ($contenu as $k => $s) {
if ($sujet == $k) {
// Section deja vue qu'il faut completer
// Si le complement a des sous-sections,
// ne pas en tenir compte quand on les rencontrera
// lors des prochains passages dans la boucle
preg_match_all(_SECTIONS_AIDE, $corps, $s, PREG_PATTERN_ORDER);
if ($s) {
$vus = array_merge($vus, $s[2]);
}
$contenu[$k] .= $corps;
$corps = '';
break;
}
}
// Si totalement nouveau, inserer le titre
// mais pas le corps s'il contient des sous-sections:
// elles vont venir dans les passages suivants
if ($corps) {
$corps = aide_section($sujet, $page);
$contenu[$sujet] = $tout . "\n" . $corps;
}
}
}
$contenu = '' . join('', $contenu) . '
';
// Renvoyer les liens vraiment externes dans une autre fenetre
$contenu = preg_replace(
'@