- Home
- Categorie
- Coding e Sistemistica
- PHP
- Volevo che nella mia chat se un utente mette un link appaia l'immagine subito
-
Volevo che nella mia chat se un utente mette un link appaia l'immagine subito
nella mia chat voglio che se un utente mette un link come ad esempio questo:
w.w.w.foto.org/img/foto/immagine23.jpg
appaia proprio l'immagine
vi posto la pagina che visualizza i messaggi:
[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*);
$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 src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$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><br>";
}
?>
</body>
</html> [/php]e anche quella che inserisce i messaggi:
[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 = "w.w.w.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<br>";
}
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>
[/php]
-
Ciao,
analizziamo con calma la situazione.
Ci sono già dei comandi in chat? come ad esempio inserimento smiley e cose simili?
C'è la funzione, se non erro reply, in asp che ti permette di convertire <a href="#">xx</a> in un apposito tag ma non ricordo se c'è anche in php
-
@clubbu said:
Ciao,
analizziamo con calma la situazione.
Ci sono già dei comandi in chat? come ad esempio inserimento smiley e cose simili?
C'è la funzione, se non erro reply, in asp che ti permette di convertire <a href="#">xx</a> in un apposito tag ma non ricordo se c'è anche in php
si c'è gia la funzione per inserire le smile, io volevo che se un utente all'interno del messaggio mette anche un indirizzo che dovrebbe far comparire una immagine questa compaia.
-
Per quello che intendi fare tu, dovresti usare un editor html wysiwyg ...ce ne sono molti online...
prova a scrivere in google
"editor html wysiwyg online"ciaoo!
-
@ilnetsurfer said:
Per quello che intendi fare tu, dovresti usare un editor html wysiwyg ...ce ne sono molti online...
prova a scrivere in google
"editor html wysiwyg online"ciaoo!
sicuro? ma è un editor html qui si parla di una chat in php
-
Intendevo:
Come tu qui, sul gtforum, apri una nuova discussione, ti compare un pannello dove puoi scrivere il tuo post, scrivere in **grassetto, ecc...
**Si basa su un editor wysiwyg...:)
-
@ilnetsurfer said:
Intendevo:
Come tu qui, sul gtforum, apri una nuova discussione, ti compare un pannello dove puoi scrivere il tuo post, scrivere in grassetto, ecc...
Si basa su un editor wysiwyg...:)continuo a non comprendere cosa tu voglia dirmi, io voglio solo che quando un utente scrive il messaggio e nel messaggio mette anche un link di una immagine, quando il messaggio appare appaia non l'indirizzo dell'immagine ma direttamente appaia la foto
-
non sono molte esperto di espressioni regolari, ma posso azzardare nel dire che secondo me basta una di queste per risolvere l tuo problema:
in teoria dovresti dire all'espressione di cercare tutto quello che inizia per "http" e finisce per "jpg" o "png" o "gif" e di sostituire questo link con una stringa come "<img src="link_scritto_dall'utente" />".
prova a vedere se la funzione preg_replace fa al caso tuo: it2.php.net/manual/it/function.preg-replace.php
-
@Inverter said:
non sono molte esperto di espressioni regolari, ma posso azzardare nel dire che secondo me basta una di queste per risolvere l tuo problema:
in teoria dovresti dire all'espressione di cercare tutto quello che inizia per "http" e finisce per "jpg" o "png" o "gif" e di sostituire questo link con una stringa come "<img src="link_scritto_dall'utente" />".
prova a vedere se la funzione preg_replace fa al caso tuo: it2.php.net/manual/it/function.preg-replace.php
può darsi guarda il php non lo conosco e la chat l'ho scaricata già fatta, mi potresti dire che codice dovrei scrivere per realizzare quello che voglio, grazie.
-
Chiedo scusa, non avevo compreso la domanda...:D:D
avevo capito che tu avresti voluto che l'immagine appaia proprio nel campo di testo(Proprio come accade all'interno di un editor online WYSIWYG)...
adesso ho capito...:x
-
nessuno mi aiuta?:bho:
-
panico helpme