3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2013 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
14 if (!defined("_ECRIRE_INC_VERSION")) return;
16 // Controle la presence de la lib safehtml et cree la fonction
17 // de transformation du texte qui l'exploite
18 // http://doc.spip.org/@inc_safehtml_dist
19 function inc_safehtml_dist($t) {
20 static $process, $test;
24 if ($f = find_in_path('lib/safehtml/classes')) {
25 define('XML_HTMLSAX3', $f.'/');
26 require_once XML_HTMLSAX3
.'safehtml.php';
27 $process = new safehtml();
28 $process->deleteTags
[] = 'param'; // sinon bug Firefox
33 $test = -1; # se rabattre sur une fonction de securite basique
37 # reset ($process->clear() ne vide que _xhtml...),
38 # on doit pouvoir programmer ca plus propremement
39 $process->_counter
= array();
40 $process->_stack
= array();
41 $process->_dcCounter
= array();
42 $process->_dcStack
= array();
43 $process->_listScope
= 0;
44 $process->_liStack
= array();
45 # $process->parse(''); # cas particulier ?
47 $t = $process->parse($t);
50 $t = entites_html($t); // tres laid, en cas d'erreur
52 // supprimer un <li></li> provenant d'un <li> ouvrant seul+safehtml
53 // cf http://core.spip.org/issues/2201
54 $t = str_replace("<li></li>","",$t);