[PHP] preg_match_all geeft weird error

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07 12:07
Ik doe een "%%.*%%" om alles te vinden dat dus tussen twee %% staat. Maar dit geeft me "unknown modifier". Volgens online tuts zou dit toch echt moeten werken. zodra ik meer dan 1 character geef dus ook: ab.*cd werkt ook niet?

Acties:
  • 0 Henk 'm!

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 04-08 16:29

Tim

Ah, lekker duidelijk.. Je doet een " %%.*%%"? En als je nou een "/%%.*%%/" 'doet'? (Hoe doe je dat?)

Oftwel, post de hele regel eens

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP ziet de procenten als pattern-delimiters denk ik. Wat wil je precies bereiken met de %en?

Sundown Circus


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

en houdt ook rekening met greedyness ;)

edit: oh, je gebruikt ook de % als delimeter; dan moet je 'm escapen of een andere delimeter gebruiken:

code:
1
2
'/%.*?%/'
of '%\%.*?\%%'

[ Voor 49% gewijzigd door crisp op 19-01-2004 10:47 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07 12:07
hmm dus die / van voor en vanachter deden de 'truuk'.

tis vast HEEL basic maar in de tuts die ik vond stond daar nergens iets van...

die %%somecontent.stuff%% is gewoon om iets te extraheren.

* hobbit_be shame weg in hoekje en gaat alvast O'Reilly's Mastering Regex in vrije tijd doornemen

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

crisp schreef op 19 januari 2004 @ 10:44:
code:
1
2
'/%.*?%/'
of '%\%.*?\%%'
Of
code:
1
'|%%.*?%%|'
Afaik is de % toch geen special character? Ik kan dat nergens vinden.
@ Crisp: ik zag je uitleg inderdaad. :)

[ Voor 45% gewijzigd door RedRose op 19-01-2004 10:55 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

RedRose schreef op 19 januari 2004 @ 10:51:
[...]
Of
code:
1
'|%%.*?%%|'
Afaik is de % toch geen special character? Ik kan dat nergens vinden. :)
Het wordt wel een special character als je 'm als delimeter gaat gebruiken, en wat TS volgens mij wil is %iets% matchen en niet %%iets%%
Btw, de /-delimeter is volgens mij de meest gangbare (tevens ook de RegExp constructor in JS), dus geef ik daar altijd de voorkeur aan.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

crisp schreef op 19 januari 2004 @ 10:55:
Het wordt wel een special character als je 'm als delimeter gaat gebruiken, en wat TS volgens mij wil is %iets% matchen en niet %%iets%%
Btw, de /-delimeter is volgens mij de meest gangbare (tevens ook de RegExp constructor in JS), dus geef ik daar altijd de voorkeur aan.
Ik dacht dat de TS een een string tussen dubbele % moest hebben, maar dat maakt dan niet zoveel uit. Ik gebruik zelf ook altijd de / i.p.v. de |, maar in PHP maakt dat niet zoveel uit. Ervan uitgaande dat de standaard '/' aangeeft, zal ik me daar ook maar consequent aan gaan houden. ;)

Sundown Circus


Acties:
  • 0 Henk 'm!

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07 12:07
de TS wou idd een match tussen twee %% %% telkens. Aangezien %% niet een special was (want /%%.*%%/ werkt ie nu zonder probleem). Echt bedankt btw. zat ik al meer dan 15minuten op en was van plan te gaan strpossen ;).
Pagina: 1