Skip to content
Extraits de code Groupes Projets
Valider a772da4b rédigé par cerdic's avatar cerdic
Parcourir les fichiers

#1633 : echapper les < et > qui ne sont pas des tags html dans typo

parent 80395462
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -469,6 +469,21 @@ function safehtml($t) { ...@@ -469,6 +469,21 @@ function safehtml($t) {
// Typographie generale // Typographie generale
// avec protection prealable des balises HTML et SPIP // avec protection prealable des balises HTML et SPIP
function echapper_faux_tags($letexte){
if (strpos($letexte,'<')===false AND strpos($letexte,'>')===false)
return $letexte;
$textMatches = preg_split (',(</?[a-z!][^<>]*>),', $letexte, null, PREG_SPLIT_DELIM_CAPTURE);
$letexte = "";
while (count($textMatches)) {
// un texte a echapper
$letexte .= str_replace(array("<",">"),array('&lt;','&gt;'),array_shift($textMatches));
// un tag html qui a servit a faite le split
$letexte .= array_shift($textMatches);
}
return $letexte;
}
// http://doc.spip.org/@typo // http://doc.spip.org/@typo
function typo($letexte, $echapper=true, $connect='') { function typo($letexte, $echapper=true, $connect='') {
...@@ -490,6 +505,7 @@ function typo($letexte, $echapper=true, $connect='') { ...@@ -490,6 +505,7 @@ function typo($letexte, $echapper=true, $connect='') {
unset($mem); unset($mem);
$letexte = corriger_typo($letexte); $letexte = corriger_typo($letexte);
$letexte = echapper_faux_tags($letexte);
// reintegrer les echappements // reintegrer les echappements
if ($echapper) if ($echapper)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter