Gjest Slettet+1374861 Skrevet 23. oktober 2006 Del Skrevet 23. oktober 2006 (endret) Gitt tekstsegmentet: Hei. Her er det litt tekst. Mer tekst. Blabla. [list] Punkt nummer 1 Pkt 2 Ja her er treern [/list] Det var en fin liten liste. Mer blabla. Hvordan ville dere gått fram for å trekke ut segmentet FRA OG MED "\[list\]" TIL OG MED " \[/list\]", for så å endre disse til "<ul>" og "</ul>", finne ut hvor mange instances av \r\n, \n eller \r det er imellom start og slutt-taggen, og sette inn <li> på starten av hver linje, og </li> på slutten av hver. Det var en ganske stor munnfull, men jeg har mest problem med å få tatt ut hele segmentet. Jeg er kyndig med preg_replace men klør meg litt i hodet over fx preg_match og ereg. Kan perl regex semantikken. All hjelp er hjertlig velkommen. Regner med det må en kombinasjon av regex funksjoner til, evt noe lignende en iterator-operasjon. (edit: måtte vist escape'e for å få skrevet \[list\] her i posten min...) Endret 23. oktober 2006 av Slettet+1374861 Lenke til kommentar
Gjest Slettet-df17e Skrevet 23. oktober 2006 Del Skrevet 23. oktober 2006 Hmm.. har ikke testa denne, men tror den skal fungere sånn ca. Men ikke forvent deg noe, for er ikke en raser på regulære utrykk og begynne å bli trøtt her jeg sitter <?php $input = "Din tekst som skal parses"; preg_match('/\[list\](.*?)\[\/list\]/is', $input, $match); $regex[0] = '/\[list\]/';$regex[1] = '/\[\/list\]/';$regex[2] = '/\n/'; $rep[0] = '<ul>';$rep[1] = '</ul>';$rep[2] = '<li>';$match = preg_replace($regex, $rep, $match); print_r($match); ?>[\PHP] 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å