86 messaggi dal 22 agosto 2001
Io e le regula expression due mondo diversi. Ho un problema di questo tipo:

il testo da analizzare

<p><b>un po' di bold</b><a href=link a></p> un bel pezzo di testo che non fa mai male <p><a href=link2 a></p> e anche qui un po' di testo non ci sta poi tanto male.

Io vorrei ottenere
Match 1 = <b>un po' di bold</b><a href=link a>
Match 2 = <a href=link2 a>

In pratica sto cercando di estrarre via regular espression un match con il contenuto di ogni gruppo di <p>...</p>, ma siccome ce ne sono più di uno nella stringa mi ritorna

Match 1 <b>un po' di bold</b><a href=link a></p> un bel pezzo di testo che non fa mai male <p><a href=link2 a>

Sapreste aiutarmi in questa esasperante situazione?

Rossetti Carlo
http://www.folklore.it


"Nulla è impossibile per colui che non deve farlo"
879 messaggi dal 09 luglio 2002
www.i-studio.it
Secondo me dovresti scriverti una procedura usando la funzione InStr che vede dove e' posizionata (se c'e') una particolare stringa.

La logica da utilizzare dovrebbe essere questa:

- fai un ciclo che inizia a cercare la stringa "<p>"
- se la trova, ti memorizzi la posizione del carattere immediatamente successivo a "<p>" (prendi il valore restituito da InStr e aggiungi 3 perche' "<p>" sono tre caratteri)
- poi, cerchi la sequenza "</p>"
- se la trovi, ti memorizzi la posizione del carattere che precede il tag
- a quel punto, hai due posizioni e con la funzione MID estrai il pezzo di testo che e' compreso tra "<p>" e "</p>"
- se dopo tutto cio', non sei arrivato alla fine del testo, continui il tuo ciclo e ripeti il tutto, altrimenti esci.

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.