[PHP] probleempje met regex

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een search engine te maken (redelijk ingewikkelde)... nu wil ik dat als iemand iets tussen quootjes zet, dat ie dat stuk in een var zet (nb. array)

Dus ik dacht: regex
Nu ben ik geen ster daarin. En ik kom er niet echt uit.
Wat ik nu heb:

PHP:
1
2
3
<?
eregi("\"(.+)\"",$_POST[search],$search_array);
?>


maar dit werkt dus niet.

Wat precies de bedoeling is:
als iemand bijvoorbeeld dit typt:

"gathering" of "tweakers"

moet ie in $search_array 2 waarden zetten:
$search_array[0] = "gathering";
$search_array[1] = "tweakers";

hoe zit die regexp in elkaar? Of moet dit anders :?

Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 00:01

me1299

$ondertitel

kan je niet explode gebruiken op " ?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP:
1
2
3
$zoek = "\"Gathering\"of\"Tweakers\"";
preg_match_all("/\"(.*?)\"/",$zoek,$search_array);
print_r($search_array);


/edit: maar dit is vast erg ranzig ;)

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
okay :) dit werkt perfect...
thx

maaruh... waarom is dit ranzig? :?

Acties:
  • 0 Henk 'm!

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

niet helemaal netjes met al die " " beoelt hij waarschijnlijk :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Verwijderd schreef op 20 November 2002 @ 16:30:
maaruh... waarom is dit ranzig? :?
Omdat je bijvoorbeeld geen rekening houdt met een oneven aantal slashes en enkele (') slashes en je de 'restzooi' van de zoekstring niet meer hebt. Maar daar is vast wel wat op te verzinnen ;)

/edit:
Haco schreef op 20 november 2002 @ 16:36:
niet helemaal netjes met al die " " beoelt hij waarschijnlijk :)
Ook ja. Ik zou een zoekstring denk ik eerst strippen van slashes, dan in een array stoppen, met de spatie als scheidingsteken en op die manier verder gaan.

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
naja...
t werkt wel zo...
want ik wil gewoon op de db een SELECT query uitvoeren... en alles wat tussen quotjes staat moet ie in zn gehaal pakken... de rest van de search string (wat er dus niet tussen quotjes staat) explode ik inderdaad op de spatie... en die daarmee zoek ie dus inderdaad ook.

Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

RedRose schreef op 20 november 2002 @ 16:19:
PHP:
1
2
3
$zoek = "\"Gathering\" of \"Tweakers\"";
preg_match_all("/\"(.*?)\"/",$zoek,$search_array);
print_r($search_array);
waarom werk je niet ff met ' ?
PHP:
1
2
3
$zoek = '"Gathering" of "Tweakers"';
preg_match_all('/"(.*?)"/',$zoek,$search_array);
print_r($search_array);


iets overzichterlijker voor 't geven van een voorbeeld ;)

*insert signature here

Pagina: 1