• User Attivo

    Ok,ecco il codice html della pagina [php]
    <table>

    <th colspan="2">Messaggi</th>

    </table>

    </div></td>
    </tr>
    </table>
    </div>
    carlitos</td><td><img src='/faccine/smile.gif'></td><td>01:42:32</tr><table>

    <th colspan="2">Messaggi</th>

    </table>

    </div></td>
    </tr>
    </table>
    </div>
    carlitos</td><td><img src='/faccine/smile.gif'><img<br />src='/faccine/faccia.gif'></td><td>01:29:25</tr><table>

    <th colspan="2">Messaggi</th>

    </table>

    </div></td>
    </tr>
    </table>
    </div>
    carlitos</td><td><img src='/faccine/smile.gif'><img<br />src='/faccine/faccia.gif'></td><td>01:27:09</tr><table>

    <th colspan="2">Messaggi</th>

    </table>
    </div></td>
    </tr>
    </table>

    [/php]
    Ho notato quel <br> che mi spezzetta il tag img...


  • User Attivo

    Ok abbiamo capito dov'è il problema:

    
    <img src
    
    ```Allora analizziamo la situazione:
    abbiamo il problema che c'è lo spazio tra img ed src; quindi proporrei di fare una cosa:
    togliamo tutti gli spazi da
    

    <img src='/faccine/smile.gif'>

    ed inserisci questo al posto del codice precedente nello script
    

    <img_src='/faccine/smile.gif'>

    
    Fatto questo non penso che un utente inserisca una stringa "img_src" quindi possiamo inserire un controllo sulla stringa che sostituisca  al frammento di stringa passato (<img_src) questo: <img src
    Puoi farlo con uno  ****str_replace****.
    Spero di esser stato chiaro (vado di fretta:D).
    Prova e facci sapere. ;)
    

  • User Attivo

    Credo di si....ora provo;)


  • User Attivo

    Allora ho fatto cosi'
    [PHP]
    <?
    include "config.php"; // file di connessione al Db

    $sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
    $query_select= @mysql_query($sql_select) or die (mysql_error());

    while($row=mysql_fetch_array($query_select))
    {
    $row['testo'] = str_replace(":-)", "<img_src='/faccine/smile.gif'>", $row['testo']);

    $row['testo'] = str_replace(":-+", "<img_src='/faccine/faccia.gif'>", $row['testo']);

    $row['testo'] = str_replace("<img_src", "<img src", $row['testo']);

    $stringa=$row['testo'];

    $nuova_stringa = wordwrap($stringa, 48, "<br />\n");
    

    echo"<table>

    <th colspan="2">Messaggi</th>

    </table>

    </div></td>
    </tr>
    </table>
    </div>
    ".$row['id_user']."</td><td>".$nuova_stringa."</td><td>".$row['tempo']."</tr>";

    }
    ?>
    [/PHP]

    Purtroppo non va...il problema rimane quello di prima:x


  • User Attivo

    Normale! 😄
    Tu prima devi fare la stringa con gli underscore (_) come ti ho fatto vedere, poi mandare a capo e infine ritrasformare la stringa. 😉
    Così tu non hai fatto altro che trasformare, riportare all'originale e mandare a capo, invece devi, trasformare, mandare a capo e infine cambiare gli underscore con uno spazio come detto precedentemente.
    😉
    (Non ci sarò per un paio di giorni).


  • User Attivo

    :mmm:
    Non ho capito dovrei aggiungere dei <br> ad ogni str_replace sulle faccine che inserisco?
    Cosi'?
    [PHP]
    $row['testo'] = str_replace(":-)", "<img_src='/faccine/smile.gif'>", $row['testo'])."<br>";
    [/PHP]


  • User Attivo

    Ho provato anche facendo cosi' ma nulla...non ho capito perfettamente il procedimento da eseguire:?


  • User Attivo

    Finalmente ho capito...e c'è l ho fatta:D
    [PHP]

    <?
    include "config.php"; // file di connessione al Db

    $sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
    $query_select= @mysql_query($sql_select) or die (mysql_error());

    while($row=mysql_fetch_array($query_select))
    {
    $row['testo'] = str_replace(":-)", "<img_src='/faccine/smile.gif'>", $row['testo']);

    $row['testo'] = str_replace(":-+", "<img_src='/faccine/faccia.gif'>", $row['testo']);

    $stringa=$row['testo'];
    //mando a capo
    $nuova_stringa = wordwrap($stringa, 48, "<br />\n");
    //ritrasformo la stringa
    $nuova_stringa = str_replace("<img_src", "<img src", $row['testo']);

    echo"<table>

    <th colspan="2">Messaggi</th>

    </table>

    </div></td>
    </tr>
    </table>
    </div>
    ".$row['id_user']."</td><td>".$nuova_stringa."</td><td>".$row['tempo']."</tr>";

    }
    ?>
    [/PHP]
    Grazie swcd;)


  • ModSenior

    Rimane solo il problema che può inserirti il <br> in mezzo al tag img e generare qualche errore di visualizzazione.


  • User Attivo

    Scusa il ritardo ma come detto non ero a casa,
    comunque no, tu prima crei la stringa con gli underscore, poi la mandi a capo e infine la traduci in html con str_replace. 😉