- Home
- Categorie
- Coding e Sistemistica
- PHP
- Mandare testo a capo in automatico
-
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...
-
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. ;)
-
Credo di si....ora provo;)
-
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
-
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).
-
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]
-
Ho provato anche facendo cosi' ma nulla...non ho capito perfettamente il procedimento da eseguire:?
-
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;)
-
Rimane solo il problema che può inserirti il <br> in mezzo al tag img e generare qualche errore di visualizzazione.
-
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.