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

    php + espressioni regolari

    ragazzi avrei un problemino..
    ho una lunga stringa di testo dalla quale devo estrapolare dei dati che lo script dovrebbe riconoscere tramite un'espressione regolare..
    la funzione ereg riesce solo a dirmi se questi dati ci sono o no, ma non mi consente di isolarli dal resto o di salvarli in un array...

    come posso fare ? :master:
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    dai un'occhiata alla help della funzione ereg e vedrai che puoi settare la regexp in modo da poter ricavare i dati in un array.

    esempio :

    codice:
    <? 
    $pattern ="\.([^.]+)$";
    $fileName = "D:/Program Files/EasyPHP/home/images_easyphp/titre_easyphp_weblocal.pippo.pluto.gif";
    ereg($pattern,$fileName,$regs);
    $estenzione = $regs[1];
    print $estenzione ;
    ?>
    sono le ( ) nella variabile $pattern che consentono di ricavare i caratteri dopo il . e di metterli in un array chiamato $regs.

  3. #3
    sto facendo alcune prove ma mi sembra che quello che hai postato non fa al caso mio, a meno che io non ci abbia capito una mazza..

    in pratica a me serve uno script che da una stringa tipo:

    blabla blabla PAROLA1 bla PAROLA2

    mi memorizzi PAROLA1 e PAROLA2 in un array... si può fare ?
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi...

    Codice PHP:
    <? 
    $frase 
    ="blabla blabla [b]PAROLA1[/b] bla [b]PAROLA2[/b]";
    $pattern ="|[b](.*)[/b]|U";
    preg_match_all($pattern,$frase,$regs);
    print_r($regs);
    ?>

  5. #5
    grazie 1000, ora provo!
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  6. #6
    hmm... mi dice:
    Warning: empty regular expression in /web/ ecc.. on line 25

    eppure mi sembra tutto ok.. che dici cosa può essere ke non va ?
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  7. #7
    ora è a posto.. non so xkè ma mettendo $pattern direttamente nella funzione funziona (scusa il gioco di parole)...

    però non riesco a stampare il risultato.. per ottenere la prima parola devo usare:

    echo $regs[0][0]; giusto ? oppure

    echo $regs[1][0]; ??

    nessuno dei due funziona e ho provato varie combinazioni ma niente..
    ovviamente sto provando il tutto sempre su quella stringa di testo di esempio ke ho postato qui...
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    codice:
    <? 
    $frase ="blabla blabla PAROLA1 bla PAROLA2";
    $pattern ="|(.*)|U";
    preg_match_all($pattern,$frase,$regs);
    print_r($regs);
    print "
    ";
    // assegnazione del risultato
    $result = $regs[1];
    foreach($result as $value) {
     print "$value
    ";
    }
    
    ?>

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.