Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: stampare testo da db

  1. #1
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254

    stampare testo da db

    Buon sabato a tutti,

    Salvo all'interno di mysql il seguente testo

    testo normale

    "testo tra virgolette"

    ’testo tra apici’

    <testo tra minore e maggiore>

    <<testo tra doppio minore e doppio maggiore>>

    testo in grassetto

    l’a

    c’è

    è

    ò

    à

    ì

    ù


    Come faccio a far stampare a video il testo in modo corretto cioè:

    testo normale
    "testo tra virgolette"
    ’testo tra apici’
    <testo tra minore e maggiore>
    <<testo tra doppio minore e doppio maggiore>>
    testo in grassetto
    l’a
    c’è
    è
    ò
    à
    ì
    ù

    Grazie anticipatamente
    lupo

  2. #2
    dovresti sostituire i vari caratteri speciali... per esempio se vuoi stampare < sostituirai tutti i < che ci sono nella stringa con &lt;... e poi li stampi...
    non sono ferratissimo in php... ma se non vado errato c'è una funzione che fa pari pari quello che desideri... ora la cerco.. asd
    ciau
    edit: soluzione trovata..
    allora
    per quei caratteri che hanno valenza speciale in html puoi usare la funzione htmlspecialchars($stringa)
    e per quei caratteri che hanno valenza speciale nelle query puoi usare addslashes($stringa) che aggiunge uno slash prima del carattere in questione...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013

    Re: stampare testo da db

    Originariamente inviato da lupo92
    Buon sabato a tutti,

    Salvo all'interno di mysql il seguente testo

    testo normale

    "testo tra virgolette"

    ’testo tra apici’

    <testo tra minore e maggiore>

    <<testo tra doppio minore e doppio maggiore>>

    testo in grassetto

    l’a

    c’è

    è

    ò

    à

    ì

    ù


    Come faccio a far stampare a video il testo in modo corretto cioè:

    testo normale
    "testo tra virgolette"
    ’testo tra apici’
    <testo tra minore e maggiore>
    <<testo tra doppio minore e doppio maggiore>>
    testo in grassetto
    l’a
    c’è
    è
    ò
    à
    ì
    ù

    Grazie anticipatamente
    bhè mi pare di capire che salvi anche la formattazione insieme all'informazione, ergo ti basta un semplice echo($row['campo_db'])) dove chiaramente $row['campo_db'] corrisponde al record estratto dal database.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    con echo $row['campo_db']
    mi stampa questo
    testo normale
    "testo tra virgolette"
    ’testo tra apici’

    <>
    testo in grassetto
    l’a
    c’è
    è
    ò
    à
    ì
    ù

    praticamente tutto tranne che quello che è contenuto tra i caratteri minore (<) e maggiore (>)
    lupo

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Com'è che è stato inserito il testo nel database? Vedi, se fosse HTML "valido", questo:

    <<testo>>

    non sarebbe permesso... ossia per stampare i simboli di minore e maggiore a video si dovrebbero utilizzare le relative entità:

    &lt e &gt

    mentre per le doppie parentesi "angolose" le entità &raquo etc etc... sarebbero più opportune. Ora capisco che hai questo problema da risolvere, che si traduce in riconoscere quali sono tag HTML validi (e stamparli così come sono) e quali invece invalidi, da trasformare nelle relative entità.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    Com'è che è stato inserito il testo nel database? Vedi, se fosse HTML "valido", questo:
    <<testo>>
    come faccio a vedere se è HTML "valido"?
    il problema è se trasformo il segno maggiore o minore in &raquo o &laquo mi trasforma anche quelli che fannoriferimento a (
    ) o ([b]) ecc...
    lupo

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Se non sei in un contetsto matematico, comincia con qualcosa del genere:

    codice:
    $str = preg_replace(array("/>>/", "/<</"), array("&raquo;","&laquo;"), $str);
    il resto spera che siano tag e non diano problemi.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    ok con il doppio maggio e minore funziona
    "testo tra virgolette"
    ’testo tra apici’
    <testo tra minore e maggiore> (questo non lo stampa)
    <<testo tra doppio minore e doppio maggiore>>
    testo in grassetto
    l’a
    c’è
    è
    ò
    à
    ì
    ù
    Il problema resta se l'utente inserisce un testo tra un singolo maggiore e minore

    Io ho questa funzione che richiamo
    function vedi_db($stringa){
    $stringa = stripslashes($stringa);
    $stringa = ereg_replace("&#39;","'",$stringa);
    $stringa = ereg_replace("\r\n","",$stringa);
    $stringa = ereg_replace("\n","",$stringa);
    $stringa = ereg_replace("
    ","
    ",$stringa);
    $stringa = ereg_replace("&lt;br&gt;","
    ",$stringa);
    $stringa = ereg_replace("&lt;b&gt;","",$stringa);
    $stringa = ereg_replace("&lt;/b&gt;","
    ",$stringa);
    $stringa = preg_replace(array("/>>/", "/<</"), array("»","«"), $stringa);
    return $stringa;
    }
    lupo

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Per questo ti avevo chiesto che metodo di inserimento stai adottando: le HTMLArea (FCKEditor, tinyMCE etc etc) danno la possibilità di formattare il testo in modo visuale e traducono automaticamente i < e > nelle giuste entità, così da non incasinare il codice html. Vedi se non sia il caso di adottarne una.

    Googla FCKEditor oppure tinyMCE e vedi un po'
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    scusami manon ho capito cosa fare
    lupo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.