par
PouleGeante » 22 juin 2019, 16:19
Hello,
Je suis le cours php sur Open Classroom et je me retrouve bloqué à un exo qui demande de remplacer toutes les URL par des liens cliquables mais pour une raison qui m'échappe ma Regex semble laisser tout passer et ma variable n'a pas l'air d'être modifiée dans preg_replace
Voici le code :
<form method="post">
<p>
<label for="lien">Votre lien ?</label> <input id="lien" name="lien" /><br />
<input type="submit" value="Vérifier le lien" />
</p>
</form>
if (isset($_POST['lien']))
{
$texte = htmlspecialchars($_POST['lien']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$texte2 = preg_replace("#https?://.+\.(a-z){2,4}#i", "<a href=$0>$0</a>", $texte);
echo "<br>",$texte2;
}
En inspectant l’élément $texte2 ne vaut que $texte (quel qu’il soit, même s'il ne respecte pas ma Regex) donc n'est pas cliquable.
J'ai beau relire mon code je ne trouve rien qui pourrait l'expliquer
Une âme charitable pour m'aider ?
Merciiiii
Hello,
Je suis le cours php sur Open Classroom et je me retrouve bloqué à un exo qui demande de remplacer toutes les URL par des liens cliquables mais pour une raison qui m'échappe ma Regex semble laisser tout passer et ma variable n'a pas l'air d'être modifiée dans preg_replace
Voici le code :
<form method="post">
<p>
<label for="lien">Votre lien ?</label> <input id="lien" name="lien" /><br />
<input type="submit" value="Vérifier le lien" />
</p>
</form>
if (isset($_POST['lien']))
{
$texte = htmlspecialchars($_POST['lien']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$texte2 = preg_replace("#https?://.+\.(a-z){2,4}#i", "<a href=$0>$0</a>", $texte);
echo "<br>",$texte2;
}
En inspectant l’élément $texte2 ne vaut que $texte (quel qu’il soit, même s'il ne respecte pas ma Regex) donc n'est pas cliquable.
J'ai beau relire mon code je ne trouve rien qui pourrait l'expliquer
Une âme charitable pour m'aider ?
Merciiiii