• User Attivo

    Formattare testo di un form

    Salve a voi tutti,
    vorrei capire come permettere agli utenti che scrivono su di un form che ho creato di formattare il testo mentre lo si inserisce.
    Un esempio e proprio il form che sto scrivendo ora..ossia questo di giorgiotave,in cui se seleziono una parte di testo e cliccando su B rendo il testo grassetto...ecco io vorrrei fare una cosa simile...e cosi' pure coi colori...dare la possibilità di cambiare colore al testo..

    Grazie:)


  • User Attivo

    Ciao,
    vuoi un wysiwyg online, o il sistema che usano i suddetti?


  • User Attivo

    il sistema...cosi da poterne fare uno mio:)


  • User Attivo

    Grazie ad una guida ho cominciato nel creare un editor web...purtroppo non so perchè ma non mi funziona
    [php]

    <html>
    <head>

    <LINK href="stile2.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" language="javascript">
    function load(){
    AttivaFrame("editArea").designMode = "On";
    }

    function AttivaFrame(editArea){ 
      if (document.getElementById(editArea).contentDocument){   
          //Mozilla 
        return document.getElementById(editArea).contentDocument; 
      } else { 
          //Internet Explorer 
        return document.frames[editArea].document; 
       } 
     } 
     function applicaCorsivo(){ 
      AttivaFrame('editArea').execCommand('italic',false, null); 
    }  
    

    </script>

    <body>

    <div id="form">

    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)

    //se si...
    include "config.php"; // file di connessione al Db
    else "Devo loggarti"; // file di connessione al Db
    //mi collego alla tabelle che contiene i nick bannati

    if(mysql_num_rows(mysql_query("SELECT bannato FROM minichat WHERE bannato = 'id_user'")) > 0)
    die('Sei bannato');

    else {
    echo "
    <body onload="load()">
    <form action="index.php" name="chat" method="POST">
    <textarea rows="2" id="editArea" name="text" cols="26"></textarea>
    <input type="button" value="corsivo" id="corsivo" onclick="applicaCorsivo()"/>
    <div id="invia"><input type="submit" value="Invia"></div><br>
    <img src="faccine/smile.gif" onClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" onClick="document.chat.text.value+=':-+'">"
    ;
    }?>
    </div></form>[/PHP]

    Nella guida si faceva esempio ad in iframe mentre io il testo devo formattarlo in una textarea...:?


  • User Attivo

    Mi stavo informando anche io, ed è giusto che sia un iframe, non sarebbe possibile fare una formattazione del testo in textarea, essendo priva di formattazioni...


  • User Attivo

    Io purtroppo ho esigenza di formattare una textarea...alla meglio però mi sono adattato facendo cosi'
    MINICHAT1.PHP
    [php]
    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)
    //se si...
    echo "<form action="index.php" name="chat" method="POST">
    <textarea rows="2" name="text" cols="36"></textarea>
    <input type="submit" value="Invia"><br>
    //qui inserisco i tag hatml che andrannoa finire nella textarea
    <img src="italic.gif" OnClick="document.chat.text.value+='****'">
    <img src="bold.gif" OnClick="document.chat.text.value+='**'">
    //qui i tag per le faccine
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">"
    ;?>
    </form>
    </div>[/php]e una seconda pagina...in cui usando str_replace ho convertito i tag

    minichat2.php
    [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("**","<strong>",$row['testo']);

    $row['testo'] = str_replace("**","</strong>",$row['testo']);

    $row['testo'] = str_replace("*","<em>",$row['testo']);

    $row['testo'] = str_replace("*","</em>",$row['testo']);

    $stringa=$row['testo'];

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

    $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]Non era proprio ciò che avrei voluto....però questo è un sistema che ho visto usare in molti siti...veloce da fare e funzionante....quindi il dubbio che avevo me l'hai confermato te...non mi funziona l'editor perchè non formatta su una textarea...