Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Colorare codice da textarea (highlight_string)

    Salve a tutti.
    Vorrei creare un semplicissimo script che scritto un codice in una textarea questo venga colorato.
    Ora sò che serve la funzione "highlight_string" così ho crato una cosa del genere:

    codice:
    <form name="form1" method="post" action="codiceColorato.php">
    <label for="codice" title="Inserisci codice">Inserisci codice PHP da colorare:</label>
      
    
    
      <textarea name="codice" id="codice" cols="100" rows="20"><?php echo stripslashes($codice); ?></textarea>
      
    
    
      <input type="submit" name="Submit" value="Genera codice colorato"> 
    </form>
    Codice PHP:
    <?php
        $codice 
    $_POST['codice'];
        
    $codiceColorato highlight_string(stripslashes($codice));
        
        if(empty(
    $codice))
            echo 
    "";
        else
            return 
    $codiceColorato;
    ?>
    </p>
    Esempio: http://drudo.altervista.org/testPhp/codiceColorato.php

    Ora però vorrei fare delle modifiche, ovvero far in modo che l'output sia XHTML compatibile.
    Per far questo ho visto più metodi es. (vedi commenti):
    http://it2.php.net/manual/en/functio...ght-string.php

    Ma non riesco proprio ad implementarli nel mio scriptino
    Non capisco se sbaglio io o altervista non permette di usare la funzione "str_replace" su "highlight_string" (ah in caso scusate se ho detto una caxxata...).

    Altra cosa che non mi riesce è far stampare sotto al codice colorato anche il codice eventuale da copiare/incolare su di un eventuale forum o sito (il codice sorgente del codice colorato in pratica).

    Qualcuno a idee?


    Ciao
    drudo

  2. #2
    l'str_replace c'è per forza, probabilmente sbagli la sintassi.

    Il codice bello pronto da copincollare lo hai già nella textarea, non capisco perché ritirarlo fuori dopo averlo colorato :master:

  3. #3
    Sicuramente sbaglio
    Quì:
    http://drudo.altervista.org/testPhp/codiceColorato2.php
    ho fatto così:

    codice:
    <form name="form1" method="post" action="codiceColorato2.php">
    <label for="codice" title="Inserisci codice">Inserisci codice PHP da colorare:</label>
      
    
    
      <textarea name="codice" id="codice" cols="100" rows="20"><?php echo stripslashes($str); ?></textarea>
      
    
    
      <input type="submit" name="Submit" value="Genera codice colorato"> 
    </form>
    Codice PHP:
    <?php

    function xhtml_highlight($str) {
       
    $str $_POST['codice'];
       
    $str highlight_string($strtrue);
       
    //replace <code><font color=""></font></code>
       
    $str preg_replace('#<font color="([^\']*)">([^\']*)</font>#''<span style="color: \\1">\\2</span>'$str);
       
    //replace other <font> elements
       
    return preg_replace('#<font color="([^\']*)">([^\']*)</font>#U''<span style="color: \\1">\\2</span>'$str);
    }

    ?>
    Così (come si vede dal link) non funziona.
    Sto facendo cavolate?



    >>Il codice bello pronto da copincollare lo hai già nella textarea, non capisco perché ritirarlo fuori dopo averlo colorato

    Beh lo tiro fuori dalla textarea perchè nella textarea stessa non viene colorato, ma viene colorato solo nella chiamata fuori...
    Ho messo:
    Codice PHP:
    <?php echo stripslashes($str); ?>
    nella textarea per non far scomparire il codice quando "invio" il form.

    ciao
    drudo

  4. #4
    Scusate se tiro sù, ma nessuno saprebbe darmi una mano?

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.