LMarie Skrevet 1. desember 2009 Del Skrevet 1. desember 2009 Hei si at jeg har setningen jeg, du, oss(deg, meg), vi(du,jeg) Så skal jeg finne ut hvor mange ord setningen har som er separert med komma. Denne kodesnutten deler på alle kommaene og tar ikke hensyn til paranteser $antall=explode(",", $setning); $resultat=count($antall); Men jeg vil ha svaret fire og derfor ikke ta med kommaene som er inne i paranteser. Hvordan kan jeg gjøre det i php? På forhånd takk Lenke til kommentar
Ekko Skrevet 1. desember 2009 Del Skrevet 1. desember 2009 Raskt gjennomtenkt er forslaget jeg kommer på å kjøre en søk og erstatt med regulært uttrykk på alle paranteser og fjerne dem og innholdet, for så å telle komma. http://no.php.net/manual/en/function.preg-replace.php $pattern skal da være noe slikt som ([^).]*) dvs $pattern = "([^).]*)"; Jeg har ikke mulighet for å sjekke uttrykket mitt i php, mulig det er en annen syntaks enn i mitt editorprogram Lenke til kommentar
LMarie Skrevet 14. desember 2009 Forfatter Del Skrevet 14. desember 2009 Fant følgende regex som matcher paranteser og tar bort de og deres innhold: $str = preg_replace('/\(.*?\)/i', '', $del); men nå er problemet at visse setninger ser slik ut: SELECT c.lastname+','+c.firstname as Navn, case len(ltrim( str(b.reqtime/3600))) WHEN 1 THEN '0' + ltrim( str(b.reqtime/3600)) Altså utrolig mange paranteser hvordan matches det egentlig? Finnes det et slags universal mønster jeg kan bruke Lenke til kommentar
Jonas Skrevet 14. desember 2009 Del Skrevet 14. desember 2009 Hvorfor gjøre det på denne utrolig dumme måten? Jeg fortalte deg i en tidligere tråd hvordan man enkelt kan printe ut en tabell uten å vite noe som helst om kolonnene på forhånd. 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å