1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| $texte=$_POST['texte']; /* Le texte est saisi ds un formulaire html */
$texte=addslashes($texte);
$texte1=explode(" ",$texte); /* le texte est découpé en tranches afin d'isoler les adresses mail et internet ; pour internet, la syntaxe proposée est : "url , texte du lien" (avec 2 espaces autour de la virgule) ; et cette partie du code marche */
$ltexte1=count($texte1);
$arobas="@";
$lien="://";
for ($i=0;$i<$ltexte1;$i++) {
if (strpos($texte1[$i],$arobas)>0)
{
$texte1[$i]='<a href ="mailto:'.$texte1[$i].'">'.$texte1[$i].'</a>';
}
if (strpos($texte1[$i],$lien)>0)
{
$texte1[$i]='<a href ="'.$texte1[$i].'" target="_blank">'.$texte1[$i+2].'</a>';
$texte1[$i+1]="";
$texte1[$i+2]="";
}
}
$texte=$texte1[0];
for ($i=1;$i<$ltexte1;$i++) {$texte.=" "; $texte.= $texte1[$i]; }
$texte=str_replace(array("\r", "\n"), array('', '<br>'), $texte); // jusque là, aucun souci
$id_forum=intval($_SESSION['id_forum']);
$sql="UPDATE forum_vhs SET text = '".$texte."' where id_forum =".$id_forum;
/* si je fais un echo de la requête, je peux l'exécuter tel quel, donc elle est bonne */
$sql =addslashes($sql);
$result = mysql_query($sql) or die(mysql_error()); |