2015-02-17 16:17:38 +01:00
< ? php
/*
Cette fonction affiche une chaine en échappant les entités HTML .
Le HTML pure est échappé .
Si le texte fourni n ' existe pas , on retourne faux .
SYNTAXE : escapehtml ( string & $text_source [, boolean $no_nl2br = false [, boolean $escape_quotes = false ]])
ARGUMENTS :
Obligatoires :
2015-08-16 06:11:00 +02:00
- string $text_source : Une variable qui sera utilisé comme texte source
2015-02-17 16:17:38 +01:00
Optionnels :
- boolean $no_nl2br : Par défaut à faux -> les retours à la lignes sont transformé en < br />. A vrai -> ils sont conservés tels quels
- boolean $escape_quotes : Par défaut à faux -> les guillemets ne sont pas échappés . A vrai -> ils sont transformés en entitées HTML
- boolean $authorize_null : Par défaut à vrai -> Les valeurs '' , 0 , null , ou false sont considérées comme définies . A faux -> considérées comme non définies
RETOUR : Cette fonction retourne le texte transformé en cas de success , false sinon
*/
2015-08-16 06:11:00 +02:00
function secho ( $text_source , $no_nl2br = false , $escape_quotes = false , $authorize_null = true ) //On utilise une reference, si la variable n'existe pas, ça ne lévera pas d'erreur
2015-02-17 16:17:38 +01:00
{
if ( $authorize_null ) //Si on les variables null, false ou '' doivent être prises comme définies
{
if ( ! isset ( $text_source )) //Si la variable n'existe pas
{
return false ; //On retourne faux
}
}
else
{
if ( empty ( $text_source )) //Si la variable n'existe pas OU est vide
{
return false ; //On retourne faux
}
}
//On met dans une nouvelle variable le texte, pour ne pas le modifier
$text = $text_source ;
if ( $escape_quotes )
{
$text = htmlspecialchars ( $text , ENT_QUOTES ); //On échappe le html
}
else
{
$text = htmlspecialchars ( $text ); //On échappe le html
}
if ( ! $no_nl2br ) //Si doit activer la transformation des retours à la ligne
{
$text = nl2br ( $text ); //On affiche la variable
}
echo $text ; //On retourne le texte echappé
}