If(ereg('

Hallo!

Ich möchte die Suchbegriffe aus den Referer der Suchmaschinen herausfilter, dabei ist folgender Sting gegeben:

http://suche.lycos.de/cgi-bin/pursuit?matchmode=and&…

Das Suchwort steht zwischen „guery=“ und dem nächsten „&“. Ich wollte das Suchwort mit dem folgenden Befehl herausfiltern.

if(ereg(„query=(.*)&“,"$referer","$regs")) {
echo „$regs[1]“;
}

Aber wenn ich es anwende bekomme ich nicht nur den Suchbegriff sondern folgendes:

Nico+Kosmetik&cat=de_spkr

Es scheint so als würde er nicht das nächste „&“ nehmen, sondern immer das letzte. Wie kann ich das vermeiden? Gibt es eine Möglichkeit zu sagen das ich das nächste „&“ haben will?

Ich hoffe ihr könnt mit meiner Erläuterung was anfangen.

Ich danke euch.

Gruß Björn

> if(ereg("query=(.\*)&","$referer","$regs")) {  
> echo "$regs[1]";  
> }

Gibt es
eine Möglichkeit zu sagen das ich das nächste „&“ haben will?

ereg('query=([^&]+)&',$referer,$regs)

aber warum ahst du $referer und $regs im ereg aufruf in doppelquotes gepackt, da kriege ich doch einen fatal…