Jooakim Skrevet 23. november 2009 Del Skrevet 23. november 2009 Jeg vil søke gjennom en input-tekst og finne følgende: - Tekst inni anførselstegn hvor linjen inneholder 'conID_<tall(1,30)>' Output: echo '<strong>'.$quotes.':</strong> '.$conID.'.'; Det kan være flere linjer med forskjellig formattert data (i anførselstegnende), eksempel: basd asgfdg bla bla bla asdfdsfsdf sdfdgsfd gdfgssdfg "123 4567 89" fdg conID_3565765 dsfsdfs dsfsd sdf sdf s gfsdg hgfhdf asf bla bla fdgsfd gdfgssdfg "123 456790" fdg conID_3554355 dsfsdfs dsfsd sdf sdf s fdgsfd gdfgssdfg "123 456 hey" fdg conID_35654665 dsfsdfs dsfsd sdf sdf s Her vil jeg at output skal bli slik:<strong>123 4567 89:</strong> conID_3565765 <strong>123 456790:</strong> conID_3554355 <strong>123 456 hey:</strong> conID_35654665 Lenke til kommentar
Edorph Skrevet 23. november 2009 Del Skrevet 23. november 2009 Ta en titt på preg_match_all i manualen. Du kan for eksempel gjøre det slik: $matches = array(); $pattern = "/\"(.+)\".+(conID_\d{1,30})/"; if(preg_match_all($pattern, $dinTekst, $matches, PREG_SET_ORDER)) { foreach($matches as $match) { print('<strong>' . $match[1] . ':</strong> ' . $match[2] . '<br/>'); } } Lenke til kommentar
Jooakim Skrevet 23. november 2009 Forfatter Del Skrevet 23. november 2009 (endret) Takk for hjelpen! Av en eller annen grunn kommer det en ekstra \ bak alle $match[1] - hvordan får jeg bort den? Edit: nvm. Endret 23. november 2009 av Jooakim Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå