ciao a tutti, ho una chat e volevo far si che la chat riconosca il link dell'immagine che l'utente scrive all'interno del messaggio (ad esempio http://www.sitoimmagini.org/img/foto/imglago.jpg) e che la chat faccia apparire in automatico l'immagine che l'utente scrive nel messaggio istantaneamente.
posto il file che inserisce il messaggio:
Codice PHP:
<?
$back_ctrl=1; // quanti messaggi deve verificare per evitare il doppio inserimento (gli ultimi N messaggi)
if(!isset($_GET['hideSubmit']))
{
echo "
<script language=\"javascript\">
alert(\"Non hai i permessi per accedere a questa pagina\");
</script>
";
exit;
}
?>
<html>
<head>
<title>Inserimento del messaggio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
include("config.php");
$nick=$_GET['nick'];
$password=$_GET['password'];
$messaggio=$_GET['messaggio'];
$messaggio=stripslashes($messaggio);/*elimina gli slashes aggiunti con addslashes*/
$messaggio=str_replace("\n"," ",$messaggio);/*sostituisce gli a capo con degli spazi nel messaggio*/
$commento="[".date("H:i - d/m/Y")."] ".$nick."|".$messaggio."\n"; if ( !empty($_GET['indirizzo_faccina']) ) $commento = "[em".$_GET['indirizzo_faccina']."] ".$commento ;
$indrizzo_faccina = (isset($_GET['indirizzo_faccina'])) ? $_GET['indirizzo_faccina'] : '';
$url = "http://www.globalmeteo.altervista.org/chat/chat.php?nick=$nick&password=$password&indirizzo_faccina=$indirizzo_faccina";
$cercamsg = strstr($messaggio,"<");/*trova la prima occorrenza di < nel
messaggio*/
$cercamsg2 = strstr($messaggio,">");/*trova la prima occorenza di > nel
messaggio*/
if (empty($messaggio))
{
Header("Location: $url");
}
elseif ($cercamsg && $cercamsg2)
{
Header("Location: $url");
}
else
{
$chk_file=file($file_mess);
$status=0;
for ($x=count($chk_file)-$back_ctrl;$x<count($chk_file);$x++)
{
list($data_nick,$chk_msg)=explode("|",$chk_file[$x]);
list($em,$chk_data,$chk_nick)=explode("] ",$data_nick);
if ( trim($chk_msg) == trim($messaggio) && trim($nick)==trim($chk_nick) ) $status = 1;
//echo " nick utilizzato= ".$nick." e nick di verifica = $chk_nick
";
}
if ($status == 0)
{
$apri_file=fopen($file_mess,"a+");
fputs($apri_file,$commento);
fclose($apri_file);
Header("Location: $url");
}
else
{
Header("Location: $url");
}
}
?>
</body>
</html>
e quella che fa apparire i messaggi:
Codice PHP:
<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config.php");
echo "<meta http-equiv=\"refresh\" content=\"$time_refresh\">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=file($file_reg);
foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['provincia'] = $tmp[5];
}
if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord[$i]);
$nick=$dati_utente[0];
eregi("\[(.*)\] \[(.*)\] (.*)", $nick, $regnick);
$nick_orig=$regnick[3];
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','[img]emoticons/em1.gif[/img]',$nick);
$msg = str_replace('[em1]','[img]emoticons/em1.gif[/img]',$msg);
for ($x=1;$x<42\;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src=\"emoticons/$img.gif\">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<42;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src=\"emoticons/$img.gif\">";
$nick = str_replace("$img2","$path",$nick);
}
echo "[b]<font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['provincia']." (".$rows_utenti_info[$nick_orig]['citta'].")\">$nick</a></font>: [/b]"."<font face=\"verdana\" size=\"2\">".$msg."</font>
";
}
?>
</body>
</html>