Bonjour,
J'ai un problème avec mon code qui n'en ai pas vraiment un, plutôt une incompréhension
J'ai fait une fonction pour générer une ligne HTML avec pout paramètres le texte à mettre en les balises, la balise, et les paramètres optionnels (id="" par exemple).
/**
* Renvoie une chaine de caractères entourée d'un tag HTML
*
* @param string $string
* Chaine de caractères a entourer
* @param string $tag
* tag HTML
* @param array $params
* paramères à ajouter dans le tag
* @return string Chaine de caractères entourée
*/
function surroundHTML($string, $tag, $params = [])
{
$return = "<" . $tag;
if (! empty($params)) {
foreach ($params as $param) {
$return .= " $param ";
}
}
$return .= "> $string"; // le navigateur ajoute la basise fermante automatiquement
$return .= "<";
$return .= "/";
$return .= $tag;
$return .= ">";
return $return;
}
Ce qui est bizarre c'est que quand j'utilise la fonction, le navigateur ou PHP (je ne suis pas sûr) ajoute automatiquement une balise fermante
echo surroundHTML("Vous êtes connecté", "h1");
Vous êtes connecté</h1>
<h1> Vous êtes connecté</h1>
Je suppose que c'est à cause du /h1 que j'ai mis a la place du / dans mes chaînes de caractères.
J'ai fait ça car c'est la seule solution que j'ai trouvé pour insérer un / sinon tout ce qui est après le / disparaît dans la chaîne de caractère
J'espère que c'est assez clair et merci d'avance pour votre aide.