Bonjour Développez.com
Sur ce forum, lorsqu'on entre une URL, elle est automatiquement transformée en un lien cliquable: C'est génial.
Exemple: www.developpez.com
J'aimerais faire la même chose sur mon site. Pourriez-me dire comment vous faites?
Est-ce que vous faites cette transformation automatiquement avant sauvegarde dans la base de donnée?
ou après: Entre la sortie de la base et l'affichage sur écran?
De mon coté, j'ai un formulaire du type "textarea":
Ensuite, voici mon code php qui sauvegarde le post:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form action="'.$File.'.php" method="post"> <input type="hidden" name="CrewName" value="'.$CrewName.'" /> <textarea class="TxtAr" name="MyPost" rows="9" maxlength="1500"></textarea> <p><input type="submit" name="SavePost" value="Ok" /></p> </form>
Et voici mon code qui affiche les posts:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if (isset($_POST['SavePost'])) {$Today=date("Y-m-d"); if (!empty($_POST['MyPost'])) {$CrewName=$_POST['CrewName']; $MyPost = filter_var($_POST['MyPost'], FILTER_SANITIZE_STRING); $MyBase = new mysqli($BaseHost, $BaseUser, $BasePass, $BaseName); $Statement = $MyBase->prepare('INSERT INTO imapost (PostDate, CrewName, MyPost) VALUES (?,?,?)'); $Statement->bind_param('sss', $Today, $CrewName, $MyPost); $Ok=$Statement->execute(); if ($Ok) {$PostAct=1;} $MyBase->close();} else {$ForgotInfo=1;}}
Donc, jusque là, tout marche très bien mais évidement si une URL était contenu dans la variable $Data['MyPost'],
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (isset($_GET['AllPost'])) {$MyBase = new mysqli($BaseHost, $BaseUser, $BasePass, $BaseName); $Result = $MyBase->query('SELECT * FROM imapost'); echo '<h3>Voici tous les posts:</h3>'; while ($Data = $Result->fetch_array()) {echo $Data['MyPost'].'<br />';} $Result->free(); $MyBase->close();}
elle n'est pas automatiquement transformée en un lien cliquable puisque je n'ai rien programmé à ce niveau là.
Et si même, le posteur avait pris la précaution de formuler l'URL accompagnée de la balise "a href",
ce balisage est supprimé, par sécurité lors de l'opération "SANITIZE" avant sauvegarde dans la base de donnée.
Maintenant, j'en reviens donc à ma question du début de ce post.
Comment détecter en php l'URL ou les URL qui seraient présentes dans la variable $Data['MyPost']
afin de les convertir automatiquement en lien?
Partager