Skip to content
Extraits de code Groupes Projets
Valider 4826a950 rédigé par Fil's avatar Fil
Parcourir les fichiers

planquer le base 64 a l'intérieur du tag permet d'échapper au moteur de WikiWords de spikini

parent 19bf3a25
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -88,7 +88,10 @@ function code_echappement($rempl, $source='') { ...@@ -88,7 +88,10 @@ function code_echappement($rempl, $source='') {
$mode = preg_match(',<('._BALISES_BLOCS.')[>[:space:]]>,', $rempl) ? $mode = preg_match(',<('._BALISES_BLOCS.')[>[:space:]]>,', $rempl) ?
'div' : 'span'; 'div' : 'span';
$nn = ($mode == 'div') ? "\n\n" : ''; $nn = ($mode == 'div') ? "\n\n" : '';
return "<$mode class=\"base64$source\">$base64</$mode>$nn";
return
inserer_attribut("<$mode class=\"base64$source\">", 'title', $base64)
."</$mode>$nn";
} }
// - pour $source voir commentaire infra (echappe_retour) // - pour $source voir commentaire infra (echappe_retour)
...@@ -175,13 +178,13 @@ function echappe_html($letexte, $source='', $no_transform=false) { ...@@ -175,13 +178,13 @@ function echappe_html($letexte, $source='', $no_transform=false) {
// par propre() : exemple dans ecrire/inc_articles_ortho.php, $source='ORTHO' // par propre() : exemple dans ecrire/inc_articles_ortho.php, $source='ORTHO'
// ou encore dans typo() // ou encore dans typo()
function echappe_retour($letexte, $source='') { function echappe_retour($letexte, $source='') {
if (strpos($letexte," class=\"base64$source")) { if (strpos($letexte,"base64$source")) {
# var_dump($letexte); ## pour les curieux # echo htmlspecialchars($letexte); ## pour les curieux
if (preg_match_all( if (preg_match_all(
',<(span|div) class="base64'.$source.'">([^<>]*)</\1>,ms', ',<(span|div) class=[\'"]base64'.$source.'[\'"]\s.*>,Ums',
$letexte, $regs, PREG_SET_ORDER)) { $letexte, $regs, PREG_SET_ORDER)) {
foreach ($regs as $reg) { foreach ($regs as $reg) {
$rempl = base64_decode($reg[2]); $rempl = base64_decode(extraire_attribut($reg[0], 'title'));
$letexte = str_replace($reg[0], $rempl, $letexte); $letexte = str_replace($reg[0], $rempl, $letexte);
} }
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter