Gå til innhold

[LØST] regular expression hjelp.


Anbefalte innlegg

Skrevet (endret)

hei

 

jeg lurer på om noen kan gi meg en perfekt regexp for å validere:

 

"hvasomhelst","hvasomhelst","tilogmed " og sånn"," ","",""","ikke:--->",","<---og ikke:--->",,sdfs,

 

altså streng begynner med "

så hvasomhelst inntil "," ubestemt antall ganger

så ender det med "

 

fant ikke ut hvordan jeg kan negativere strenger. kun character classes

 

"([^(",")]*",")*[^(",")]*"

 

(",") skulle te seg som en streng. ikke som " og/eller ,

Endret av grimjoey
Videoannonse
Annonse
Skrevet

Negativere :) Bra ord!

 

Jeg er fortsatt ikke helt sikker på hva resultatet skal bli. Et eksempel på resultat hadde nok vært bedre enn en forklaring.

 

Men jeg forsøker anyway:

PHP
<?php

$string '"hvasomhelst","hvasomhelst","tilogmed " og sann"," ","",""","ikke:--->",","<---og ikke:--->",,sdfs,';

preg_match_all("/"((?:[^"]|"(?!,"))*)"(?:,(?=")|$)/",$string,$match);

print_r($match[1]);

 

/*

[0] => hvasomhelst

[1] => hvasomhelst

[2] => tilogmed " og sann

[3] =>

[4] => 

[5] => "

[6] => ikke:--->

*/

Skrevet

Er du sikker på at beste måten å løse problemet på er å bruke en regex? Det ser ut til at du i praksis har en CSV (Comma separated values), med komma som skilletegn og " som innkapslingstegn.

 

"verdi1","verdi2","verdi3" osv.

 

Ta en titt på fgetcsv() og fputcsv(). :)

Skrevet (endret)

Jeg vil validere en string som kommer fra bruker og skal settes direkte inn som en linje i en csv fil uten fputcsv.

 

Edit: Takk stiber. Nice

Endret av grimjoey

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...