google zoektermen uit de url halen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gijs

gijs

04/02/2008 12:45:00
 
PHP hulp

PHP hulp

28/03/2024 22:30:36
 
Joren de Wit

Joren de Wit

04/02/2008 12:53:00
Quote Anchor link
Hoe de zoekwoorden in de url staan, is voor elke zoekmachine en elke website verschillend. Bij google staan de zoekwoorden bijvoorbeeldin het in het gedeelte achter 'q='.

Met behulp van een regulieren expressie en preg_match() kun je heel eenvoudig die zoekwoorden uit die url halen.

edit: een voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sUrl
= 'http://www.google.nl/search?svnum=10&um=1&hl=nl&q=picooz&ie=UTF-8&oe=UTF-8&sa=N&tab=iw';

preg_match('_(?|&)q=([^&]+)_i', $sUrl, $aZoekstring);
echo 'Zoekstring: "'.$aZoekstring[1].'"';
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Gijs

gijs

04/02/2008 12:57:00
Quote Anchor link
ik heb dara mee zitten klooien maar kwam er niet uit hoe ik die functie precies moest scrijven. Zou je een voor beeld kunnen maken als dat niert te veel werk is zodat ik dat kan proberen?

groeten,

Gijs
 
Joren de Wit

Joren de Wit

04/02/2008 12:58:00
Quote Anchor link
Zie de edit in mijn vorige post ;-)
 
Gijs

gijs

04/02/2008 13:24:00
Quote Anchor link
dank je voor de snelle reactie. Helaas lijkt het als of mijn string dan leeg is. krijg de volgende foutmelding:

Warning: preg_match(): Compilation failed: nothing to repeat at offset 2 in /var/www/html/admin1/google.php on line 19
-------->Zoekstring: ''
 
Gijs

gijs

04/02/2008 13:29:00
Quote Anchor link
na een toevalstreffer heb ik hem aan de praat gekregen. Thanks!!!

zou je mij de regularexpression kunnen uitellegen die je begruikt? heb wel vaker gezocht op internet maar vind het best lastig te begrijpen.
Ik heb ook nog linkjes met 2 of meer zoektermen. meestal bestaat het dan uit een % en een nummer.

bijv. &q=PicooZ+R%2fC+Helikopter+Battle+Pack
mag worden: PicooZ RC Helikopter Pack

groeten Gijs
Gewijzigd op 01/01/1970 01:00:00 door gijs
 
Joren de Wit

Joren de Wit

04/02/2008 13:43:00
Quote Anchor link
De regex die ik gebruik zit als volgt in elkaar:

De _ op het begin en eind stellen de delimiters voor die de preg_match() functie nodig heeft rond de regex. Vervolgens zorgt '(?|&)q=' ervoor dat strings gematched worden die beginnen met ?q= of &q=.

([^&]+) matched alle tekens die geen & zijn, dus alles in de url zolang er geen volgende GET variabele komt. De pattern modifier 'i' zorgt er tenslotte voor dat de regex case-insensitive is. Dus ook ?Q= en &Q= zullen voldoen...

Het uitpluizen van de zoekstring kun je verder eenvoudig met functies als urldecode() en eventuele str_replace()...
 
Gijs

gijs

04/02/2008 13:48:00
Quote Anchor link
super, bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.