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

    funzionamento preg_match

    Ciao a tutti,
    sto cercando di prelevare dei tag da un documento html usando preg_match.
    La funzione che sto usando è questa:

    Codice PHP:
    preg_match("/<tag>.+<\/tag>/i",$code,$tag); 
    Il problema è che se $code contiene una stringa di questo tipo:

    <tag>pippo</tag>pluto<tag>paperino</tag>

    anzichè prelevarmi le 2 occorrenze <tag>pippo</tag> e <tag>paperino</tag> mi preleva un'unica occorrenza così <tag>pippo</tag>pluto<tag>paperino</tag>...

    Suggerimenti?

    Grazie mille!

  2. #2
    La funzione che uso in realtà è:

    Codice PHP:
    preg_match("/<tag>.+<\/tag>/i",$code,$tag); 
    prima ho messo un backslash di meno...

  3. #3
    Devi trasformare il + in quantificatore lazy, cioe' invece di ".+" usa ".+?".

    Approfondisci questa parte del funzionamento delle regular expressions qui: http://www.regular-expressions.info/repeat.html

  4. #4
    E dire che avevo la soluzione dentro il mio nickname...
    Grazie, ora ci studio un po' su!

  5. #5
    Scusate, avrei ancora un piccolo dubbio... per trovare tutte le occorrenze del pattern come devo fare?
    Devo fare un ciclo facendo slittare il parametro offset di preg_match oppure esiste una funzione apposita?

  6. #6

  7. #7

    Grazie mille...

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.