Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Funzione ereg

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    46

    Funzione ereg

    Ho scaricato un programma free in rete, in cui viene usata questa funzione, non conoscendola ho fatto alcune ricerche.
    Dagli esempi qualcosa ho capito, ma non riesco comunque a focalizzare la ricerca che è stata impostata qui:

    if (ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))
    ...

    Ho capito che serve per estrarre tutto quello compreso tra <> ma c'è anche altro.
    Qualcuno sarebbe così gentile da spiegarmelo?

    Grazie!

  2. #2
    leggi intanto qua: http://it.php.net/ereg

    poi magari specifica meglio la tua richiesta, cosa devi farci tu... etc etc ...

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    46
    Grazie Punkrazio, ho già letto questa pagina, infatti in linea di massima ho capito come funziona, il problema è nello specifico.

    Per esempio se ho un tag così:
    Notare lo spazio tra width e height
    Codice PHP:
    $stringa "[img]pippo.jpg[/img] 
    Il mio programma fa così:

    mette nell'array i pezzi di stringa contenuti fra gli spazi
    Codice PHP:
    $stringasplit=split(' ',$stringa); 
    toglie dall'array il primo valore cioè img
    Codice PHP:
    $tag=strtoupper(array_shift($stringasplit)); 
    Cicla sui restanti componenti dell'array e se la if è verificata carica le propietà delle relative tag
    Codice PHP:
    $prop=array();  

    foreach(
    $stringasplit as $v)
    {
        if(
    ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$arr))
       {
            
    $prop[strtoupper($arr[1])]=$arr[2];
       }    

    Avendo lo split creato:

    $stringasplit[0] -> src='pippo.jpg'

    $stringasplit[1] -> style='width:300px

    $stringasplit[2] -> height:100px'

    Le prime due righe dell'array vengono presi correttamente, quindi crea:

    $prop['SRC']= 'pippo.jpg'
    $prop['STYLE']= 'width:300px';

    perchè penso abbiamo entrambi i simboli =' mentre l'ultima no perchè non esiste questa sequenza di caratteri.
    L'idea sarebbe quella di mettere un or ereg('^height:'), in modo che prenda anche quelle righe che iniziano per height qualcosa. In questo modo la if sarebbe verificata.
    Oppure meglio ancora togliere quel maledetto spazio.

    Qualcuno mi chiederà perchè ho un espressione nello style con degli spazi, il problema nasce dal fatto che quando faccio il resize di un'immagine in una textarea, mi mette in automatico uno spazio tra width e height

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    46
    Originariamente inviato da weppos
    Conosci le espressioni regolari?
    In effetti fino ad oggi non sapevo che esistessero, mi sono letta qualcosa al riguardo, ma non è tutto chiarissimo, anche perchè la maggior parte della documentazione è in inglese ed io non sono molto ferrata.

    Ps non c'è l'emotion che simboleggia la vergona altrimenti l'avrei usata.

  6. #6
    Premesso che prima di iniziare a studiare le espressioni regolari ti converrebbe un ripasso di inglese ( ), ecco un buon inizio in italiano.
    http://www.kerouac3001.com/espressio...da-base-50.htm

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    46
    Originariamente inviato da weppos
    Premesso che prima di iniziare a studiare le espressioni regolari ti converrebbe un ripasso di inglese ( ), ecco un buon inizio in italiano.
    http://www.kerouac3001.com/espressio...da-base-50.htm
    Per l'inglese hai ragione, ma il tempo è quello che è purtroppo, per la guida invece ti ringrazio è semplice e chiara, però me la leggo domani con calma, data l'ora

    Grazie!!!

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.