Mise à jour de secho pour la dernière version disponible sur Descartes
This commit is contained in:
parent
95fb5cae0c
commit
8925c2c228
|
@ -1,55 +1,29 @@
|
|||
<?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 :
|
||||
- string $text_source : Une variable qui sera utilisé comme texte source
|
||||
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
|
||||
*/
|
||||
|
||||
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
|
||||
/**
|
||||
* Cette fonction permet d'afficher un texte de façon sécurisée.
|
||||
*
|
||||
* @param string $text : Le texte à afficher
|
||||
* @param boolean $nl2br (= true) : Si vrai, on transforme le "\n" en <br/>.
|
||||
* @param boolean $escapeQuotes (= true) : Si vrai, on transforme les ' et " en équivalent html
|
||||
* @param boolean $echo (= true) : Si vrai, on affiche directement la chaine modifiée. Sinon, on la retourne sans l'afficher.
|
||||
*
|
||||
* @return mixed : Si $echo est vrai, void. Sinon, la chaine modifiée
|
||||
*/
|
||||
function secho($text, $nl2br = true, $escapeQuotes = true, $echo = true)
|
||||
{
|
||||
if ($authorize_null) //Si on les variables null, false ou '' doivent être prises comme définies
|
||||
//On echappe le html, potentiellement avec les quotes
|
||||
$text = $escapeQuotes ? htmlspecialchars($text, ENT_QUOTES) : htmlspecialchars($text);
|
||||
|
||||
//On transforme les "\n" en <br/>
|
||||
$text = $nl2br ? nl2br($text) : $text;
|
||||
|
||||
//On retourne le texte ou on l'affiche
|
||||
if ($echo)
|
||||
{
|
||||
if(!isset($text_source)) //Si la variable n'existe pas
|
||||
{
|
||||
return false; //On retourne faux
|
||||
}
|
||||
echo $text;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(empty($text_source)) //Si la variable n'existe pas OU est vide
|
||||
{
|
||||
return false; //On retourne faux
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
||||
//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é
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue