Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Regex complessa

  1. #1

    Regex complessa

    Ciao a tutti. Avrei una domandina per voi: ho uno script (che non è mio) dove c'è questa istruzione

    Codice PHP:
    $content=~ s/%(..)/pack("c",hex($1))/ge
    e non so bene cosa faccia o meglio mi fa un pò di confusione in testa, perchè so che ge significa di valutare come espressione la parte destra e di sostituire tutte le occorrenze, ma non comprendo il resto :master: .. se sapete aiutarmi gradirei molto..

    Gnix
    http://www.ptrace.net

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ne avevo mai vista una simile, ma con un manuale sottomano si riesce a risolvere tutto.

    $1 e` chiaramente la sequenza di due caratteri che seguono il % nella stringa sorgente (prima parte della RE)
    hex trasforma i caratteri esadecimali in numero intero
    pack trasforma i singoli caratteri (del numero intero) in stringa

    Il tutto quindi trasforma la sequenza %HH (dove HH sono 2 cifre esadecimali) in DDD (da uno a tre caratteri numerici) espresso in decimale.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    E' una regex, molto rozza, per la conversione di caratteri esporessi in codifica esadecimale in caratteri normali. In genere si usa per decodifcare gli URL.

    Ad esempio "%20" diventa " " ovvero uno spazio.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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.