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

    riformattare javascript

    quante volte v'è capitato di dover riscrivere a mano righe e righe di codice javascript compresso, spesso anche vostro!

    gli editor qui fanno poco e nulla, quindi mi sono creato uno scriptino che esegua una riformattazione del codice, in modo da averlo più chiaro di fronte agli occhi.


    vi posto il sorgente. buon lavoro

    ps: aggiornato, ora fa anche le tabulazioni
    codice:
    <?php
    
    // il file originale
    $file = "test.js";
    
    // imposto il timeout a 6 minuti
    set_time_limit( 300 );
    
    // acquisisco il contenuto del file
    $j = implode( file( $file ) );
    
    // creo la variabile che conterrà la prima formattazione
    $jp = '';
    for( $n = 0; $n < strlen( $j ); $n++ ) {
    	// eseguo i controlli necessari, il "}" viene considerato due volte, se volete sapere il perchè toglietene uno...
    	if ( $j[ $n ] == "}" ) { $jp .= "\n"; }
    	$jp .= $j[ $n ];
    	if ( $j[ $n ] == "}" ) { $jp .= "\n"; }
    	if ( $j[ $n ] == "{" ) { $jp .= "\n"; }
    	if ( $j[ $n ] == ";" ) { $jp .= "\n"; }
    }
    
    // libero la memoria
    unset( $j );
    
    // creo l'array $jp con tutte le righe del codice
    $ja = explode( "\n", $jp );
    unset( $jp );
    
    // il contatore per le tabulazioni "\t"
    $po = 0;
    echo '<textarea cols="120" rows="25" >';
    for( $r = 0; $r < count( $ja ); $r++ ) {
    	if ( $ja[ $r ] != '' ) {
    		if ( $ja[ $r ] == "}" ) { $po--; }
    		for( $p=0; $p<$po; $p++ ) { echo "\t"; }
    		if ( strpos( $ja[ $r ] , "{" ) ) { $po++; }
    		echo $ja[ $r ] ."\n";
    	}
    }
    echo '</textarea><hr />';
    
    
    ?>
    Totò, vero ma strano
    www.ateicos.com

  2. #2
    non è un granchè ottimizzata (e il timelimit a 300 lo dimostra da se) ... ma non ho capito bene a cosa serve ... cioè, comprimere JS levando solo spazi serve a poco / niente e se si usa il compressore migliore che conosca questo script non serve ad un granchè :master:


    comunque se mi dici di preciso cosa devi fare magari la riscriviamo in versione ottimizzata ... ad esempio senza usare mille echo, facendo la tabulazione sul primo for (il secondo per i \t è superfluo) ed utilizzando str_repeat al posto del ciclo innestato per ripetere i tabs
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    non hai capito assolutamente....

    questo script non comprime, dilata la struttura.

    stavo controllando il codice adsense di google per cercare di capire come integrarlo in maniera migliore dell'iframe attualmente utilizzato.

    cercando di espandere 1 istruzione a riga mi stavano venendo i crampi, così mi sono fatto questa paginetta.
    Totò, vero ma strano
    www.ateicos.com

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    E' un zinzinello naive pensare di fare un riformattatore di codice orientato al carattere...
    There are 10 types of people in the world - those who understand binary and those who don't.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.