Visualizzazione risultati 1 fino 4 di 4

Discussione: preg_replace in un file di \n, \t, spazi, tranne dentro i tag script.

  1. #1
    Guest

    Predefinito preg_replace in un file di \n, \t, spazi, tranne dentro i tag script.

    Come, da tuitolo sto cercando di pulirmi il sorgente per fare delle prove e mi trovo davanti a questi problemi.
    Fino ad ora riesco a fare quel che vorrei, ma questo pulisce anche il doice dentro i tag <script> non permettendo questo di funzionare a dovere.
    Come posso fare?
    Codice PHP:
    if (!preg_match('~<script(.+?)</script>~si', $data))
    {
    $data = preg_replace('#\/\*[\s\S]*?\*\/#', '', $data);
    $data = str_replace(array("\n", "\r", "\t", " "), '', $data);
    }
    Ma questo funziona solamente se IN TUTTO il file non è presente il tag script. Come posso fare, quindi, a pulire fuori dai tag script, anche se nel file è presente?

    Grazie in anticipo

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Io ho provato a fare qualcosa:
    Codice PHP:
    <?php
    $data
    = file('file'); // trova un modo per dividere in array il file, se non puoi usare file() ti consiglio: explode(PHP_EOL, $file);
    $closed = true;

    foreach(
    $data as &$line) {
    if(
    stripos($line, '<script') !== false || $closed === false) {
    $closed = stripos($line, '</script>') !== false;
    continue;
    }

    $line = preg_replace('#/\*[\s\S]*?\*/#', '', $line);
    $line = str_replace(array("\n", "\r", "\t", " "), '', $line);
    }

    echo
    implode('', $data);
    ?>
    Funziona.
    Ultima modifica di javascripter : 20-06-2010 alle ore 15.38.10

  3. #3
    Guest

    Predefinito

    Troppo codice! Avere un ciclo, condizioni e preg_* in un'istanza richiamata tante volte rallnterebbe, non di poco, tutto il portale.

    Ti ringrazio comunque

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Troppo codice! Avere un ciclo, condizioni e preg_* in un'istanza richiamata tante volte rallnterebbe, non di poco, tutto il portale.

    Ti ringrazio comunque
    Immaginavo, infatti sto ancora cercando di trovare qualcosa di più semplice, veloce ed efficace. ( la cosa interessa anche a me )

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •