コード例 #1
0
ファイル: filtres.php プロジェクト: loorenzooo/aslfc
/**
 * http://doc.spip.org/@entites_html
 *
 * @param string $texte
 *   chaine a echapper
 * @param bool $tout
 *   corriger toutes les &xx; en &xx;
 * @param bool $quote
 *   echapper aussi les simples quotes en '
 * @return mixed|string
 */
function entites_html($texte, $tout = false, $quote = true)
{
    if (!is_string($texte) or !$texte or strpbrk($texte, "&\"'<>") == false) {
        return $texte;
    }
    include_spip('inc/texte');
    $flags = !defined('PHP_VERSION_ID') or PHP_VERSION_ID < 50400 ? ENT_COMPAT : ENT_COMPAT | ENT_HTML401;
    $texte = spip_htmlspecialchars(echappe_retour(echappe_html($texte, '', true), '', 'proteger_amp'), $quote ? ENT_QUOTES : $flags);
    if ($tout) {
        return corriger_toutes_entites_html($texte);
    } else {
        return corriger_entites_html($texte);
    }
}
コード例 #2
0
ファイル: filtres.php プロジェクト: JLuc/SPIP
/**
 * Échappe en entités HTML certains caractères d'un texte
 * 
 * Traduira un code HTML en transformant en entités HTML les caractères
 * en dehors du charset de la page ainsi que les `"`, `<` et `>`.
 *
 * Ceci permet d’insérer le texte d’une balise dans un `<textarea> </textarea>`
 * sans dommages.
 *
 * @filtre
 * @link http://www.spip.net/4280
 * 
 * @uses echappe_html()
 * @uses echappe_retour()
 * @uses proteger_amp()
 * @uses corriger_entites_html()
 * @uses corriger_toutes_entites_html()
 * 
 * @param string $texte
 *   chaine a echapper
 * @param bool $tout
 *   corriger toutes les `&amp;xx;` en `&xx;`
 * @param bool $quote
 *   Échapper aussi les simples quotes en `&#039;`
 * @return mixed|string
 */
function entites_html($texte, $tout = false, $quote = true)
{
    if (!is_string($texte) or !$texte or strpbrk($texte, "&\"'<>") == false) {
        return $texte;
    }
    include_spip('inc/texte');
    $flags = $quote ? ENT_QUOTES : ENT_NOQUOTES;
    if (defined('ENT_HTML401')) {
        $flags |= ENT_HTML401;
    }
    $texte = spip_htmlspecialchars(echappe_retour(echappe_html($texte, '', true), '', 'proteger_amp'), $flags);
    if ($tout) {
        return corriger_toutes_entites_html($texte);
    } else {
        return corriger_entites_html($texte);
    }
}
コード例 #3
0
ファイル: filtres.php プロジェクト: rhertzog/lcs
function entites_html($texte, $tout=false) {
	if (!is_string($texte) OR !$texte
	OR !preg_match(",[&\"'<>],S", $texte) # strpbrk($texte, "&\"'<>")!==false
	) return $texte;
	include_spip('inc/texte');
	$texte = htmlspecialchars(echappe_retour(echappe_html($texte,'',true),'','proteger_amp'));
	if ($tout)
		return corriger_toutes_entites_html($texte);
	else
		return corriger_entites_html($texte);
}
コード例 #4
0
ファイル: filtres.php プロジェクト: nursit/SPIP
/**
 * http://doc.spip.org/@entites_html
 *
 * @param string $texte
 *   chaine a echapper
 * @param bool $tout
 *   corriger toutes les &amp;xx; en &xx;
 * @param bool $quote
 *   echapper aussi les simples quotes en &#039;
 * @return mixed|string
 */
function entites_html($texte, $tout = false, $quote = true)
{
    if (!is_string($texte) or !$texte or strpbrk($texte, "&\"'<>") == false) {
        return $texte;
    }
    include_spip('inc/texte');
    $texte = htmlspecialchars(echappe_retour(echappe_html($texte, '', true), '', 'proteger_amp'), $quote ? ENT_QUOTES : ENT_COMPAT | ENT_HTML401);
    if ($tout) {
        return corriger_toutes_entites_html($texte);
    } else {
        return corriger_entites_html($texte);
    }
}