[php] Regex

Pagina: 1
Acties:

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
Het onderstaand stukje zorgt ervoor dat alles wat tussen een spatie of een plus in een array wordt gezet. Nu wil ik graag wanneer iets tussen dubbele quote's staat dit ook in een keer in de array wordt gezet ongeacht of er nu een spatie of plus teken in staat.

Dus:

$input: test test+test "test test" +test
$output = split("[ +]", $input);

$output[1] = test
$output[2] = test
$output[3] = test
$output[4] = test test
$output[5] = test

Bij google wordt dit namelijk ook gedaan.

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 01-01 15:26

PrinsEdje80

Holographic, not grated...

En je vraag is dan?

Dit kun je mijns inziens wel opzoeken in de manual of zoeken op php regex etc...

Used to be Down Under... Foto gallery


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
PHP:
1
2
    $in = 'bla1 bla2 "bla3 bla4" bla5';
    preg_match_all("/(\".*?\")|(\w+)/", $in, $matches, PREG_PATTERN_ORDER);
In $matches[0] zit nu:
code:
1
2
3
4
5
6
7
[0] => Array
(
    [0] => bla1
    [1] => bla2
    [2] => "bla3 bla4"
    [3] => bla5
)

  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Wat ik van reg exp weet is dat alles wat tussen () staat, wordt opgeslagen in een array.
Dus een regexp van: /"([^"]+)"/ moet alles onthouden wat tussen een " " staat.
[^"] betekent: match alles, als het maar geen " is. Het +je daarna staat voor dat er minimaal 1 karakter of meer tussen de "" kan staan. "" wordt dus niet gematcht. " " wordt wel gematcht. Wil je "" toch willen matchen, dan moet je een * gebruiken ipv een +, maar dat lijkt me vrij zinloos in deze toepassing.

Maar ik werk met regexps in javascript (vandaar ook de notatie tussen / /), dus ik weet niet of php dat exact hetzelfde doet.

Fuck me if I'm wrong, but isn't your name Gretchen?


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

marcusk: errug behulpzaam maar zo leert ie er geen %$^&*(%^&*() van natuurlijk :)
de oplossing posten is echt welkom maar niet zonder dat de starter moeite heeft gedaan

Doet iets met Cloud (MS/IBM)


  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 18-08 21:00
D2k schreef op 08 oktober 2002 @ 15:56:
marcusk: errug behulpzaam maar zo leert ie er geen %$^&*(%^&*() van natuurlijk :)
de oplossing posten is echt welkom maar niet zonder dat de starter moeite heeft gedaan
Ik heb gegoogled. Ik heb zeer veel info gevonden. Maar ik grijp nog niet veel van Regex. Helaas dat er geen nederlands boek is over Regular Expressions.

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
D2k schreef op 08 oktober 2002 @ 15:56:
marcusk: errug behulpzaam maar zo leert ie er geen %$^&*(%^&*() van natuurlijk :)
de oplossing posten is echt welkom maar niet zonder dat de starter moeite heeft gedaan
Je hebt gelijk, sorry :) (feli met je full-mod-schap trouwens, ik zie et nu pas :))
frankschers schreef op 08 oktober 2002 @ 15:58:
Ik heb gegoogled. Ik heb zeer veel info gevonden. Maar ik grijp nog niet veel van Regex. Helaas dat er geen nederlands boek is over Regular Expressions.
op http://php.nederland.net/manual/en/pcre.pattern.syntax.php staat wel een goede (maar engelse) uitleg.
Pagina: 1