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

    [PHP] Chiarimenti sulle espressioni regolari

    Salve a tutti gente! Mi sto da poco avvicinando al mondo della programmazione PHP&MySQL; e devo dire che trovo le potenzialitá di questo linguaggio davvero fantastiche!!!
    Per iniziare a studiare questa potente abbinata mi sono comprato un libro che spiega passo passo i vari passaggi per costruire un piccolo CMS, tutto rimanendo sempre sul semplice :P
    Ah nn faccio il nome del libro perché nn vorrei fare pubblicitá occulta ma se qualcuno fosse interessato potrei inviarli l'editore e il titolo via pm, perché devo dire che lo ritengo veramente ben fatto!!!
    Cmq adesso torniamo al mio problema....
    Allora sviluppando questo piccolo CMS mi sono imbattuto nella realizzazione di un form nel quale posso immagazzinare il testo inserito dall'utente nel mio database; diciamo un pochetto come questo form che sto riempiendo per mandare il messaggio sul forum
    Il libro mi dice che devo iniziare a tenere conto che qualche utente potrebbe inviare del codice malevolo per il mio sito, e per questo esiste la funzione
    Codice PHP:
    htmlspecialchars() 
    che traduce tt i caratteri dannosi. Ma poi andando avanti voglio anche dare all'utente la possibilitá di inserire dei link a pagine esterne, nn utilizzando il codice VB ma un codice prodotto da me, sopratutto per capire meglio le cose
    Il libro mi consiglia di utilizzare questa sintassi per i link che hanno come nome il loro stesso indirizzo, ovvero:
    codice:
    [L]http://www.html.it[EL]
    che dovrá poi essere trasformato in questo:
    per una corretta visualizzazione.
    Il libro mi suggerisce questa espressione regolare per cercare di riconoscere la stringa che rappresenta il link:
    codice:
    \[L][-_./a-z0-9!&%#?+,'=:;@~]+\[EL]
    Allora sinceramente quello che ho capito di questa espressione, e penso sia giusto é:
    ignora il carattere speciale [ (che di conseguenza ignorerá anche la parentesi quadra di chiusura), cerca una o piú occorrenze dei caratteri presenti nel set di caratteri presenti tra parentesi quadre, e poi ignora nuovamente quello che é scritto tra parentesi quadre successivamente.

    Ora i miei dubbi su questa espressione regolare sono:
    1) Nn potrei tradurla in:
    codice:
    \[L][.]+\[EL]
    visto che il carattere speciale . indica qualsiasi carattere tranne uno spazio, e se nn posso tradurla come mai é stato inserito nell'espressione???
    2)Mentre scrivevo questo post un'altra cosa mi é balzata agli occhi... Come mai nn sono stati utilizzati i caratteri di escape per i caratteri speciali ? e + che sono presenti all'interno delle parentesi quadre?

    PS = La sintassi utilizzata per le espressioni regolari é quella propria delle espressione, e nn quella unita a PHP dove é necessario utilizzare i doppi backslash (\\) per far leggere al linguaggio lato server la backslash utilizzata nell'espressione.

    Spero di esser stato chiaro nell'esporre i miei dubbi e colgo l'occasione per ringraziarvi in anticipo delle vostre risposte!!!
    Grazie a tutti ragazzi!!!

  2. #2
    Ragazzi nessuno ha qualche idea???

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.