• User Attivo

    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]


  • User Attivo

    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


  • User Attivo

    @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.


  • User Attivo

    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!


  • User Attivo

    @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 :smile5:


  • User Attivo

    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...:)


  • User Attivo

    @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


  • User Attivo

    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


  • User Attivo

    @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.


  • User Attivo

    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


  • User Attivo

    nessuno mi aiuta?:bho:


  • User Attivo

    panico helpme :arrabbiato: