Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Refferer zerlegen mit preg_replace, was mache ich falsch?
Ansgar Berhorn
TOPdesk Deutschland
Geschrieben am: Fr 18.03.2005, 16:30
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 857
Mitglied seit: 8.10.2004


Folgende Funktion:
CODE

function cleanReferrerString ($text)
 {
  $suchmuster="/.+(google)\.(\w{0,6})\/search.*q=([^&]*).*/";
       $ersetzung="$1.$2-Suche:$3";
  return(preg_replace($suchmuster,$ersetzung, $text));
};


Funktioniert wunderbar für Links nach dem Schema:
http://www.google.ch/search?hl=de&q=Suchwort

Wenn der "q"-Parameter direkt hinter dem "search?" kommt, geht es nicht.
Folgende Links matchen nicht:
http://www.google.ch/search?q=Suchwort

Kann mir jemand sagen, wo der Fehler in meinem regulärem Ausdruck ist?


--------------------
Top
PMUsers Website
Top
 
 
Josh
#2 Geschrieben am: Sa 19.03.2005, 10:53 (+18:22)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


hallo ansgar

CODE
<?php

function cleanReferrerString($text) {
$suchmuster="/.+(google)\.(\w{0,6})\/search.*q=([^&]*).*/";
$ersetzung="$1.$2-Suche:$3";
 
return(preg_replace($suchmuster,$ersetzung, $text));
}

echo "<pre>";
print_r(cleanReferrerString("http://www.google.ch/search?hl=de&q=Suchwort"));
echo "\n";
print_r(cleanReferrerString("http://www.google.ch/search?q=Suchwort"));
echo "</pre>";

?>


gibt bei mir

CODE
google.ch-Suche:Suchwort
google.ch-Suche:Suchwort


aus. ist das nicht das, was du wolltest?


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Ansgar Berhorn
TOPdesk Deutschland
#3 Geschrieben am: Sa 19.03.2005, 15:08 (+04:14)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 857
Mitglied seit: 8.10.2004


QUOTE
ist das nicht das, was du wolltest?

Ja, das ist es. Ich habe einen Fehler beim testen gemacht.

Hier die ganze Funktion:
CODE

function cleanReferrerString ($text)
{
$suchmuster[0]="/.+(google)\.(\w{0,3})\/search\?.*q=([^&]*).*/";
$suchmuster[1]="/.+(search\.msn)\.(\w{0,3})\/results\.aspx\?.*q=([^&]*).*/";
$suchmuster[2]="/.+\/\/(\w{0,2}\.)?(search\.yahoo\.com)\/search\?.*p=([^&]*).*/";

$ersetzung[0]="$1.$2-Suche:$3";
$ersetzung[1]="$1.$2-Suche:$3";
$ersetzung[2]="$1$2-Suche:$3";
return(urldecode(preg_replace($suchmuster,$ersetzung, $text)));
};

Wer will, kann es gebrauchen.


--------------------
Top
PMUsers Website
Top
 
Josh
#4 Geschrieben am: Sa 19.03.2005, 19:26 (+04:18)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


ach mein lieber, und ich hacke das zeugs lokal auf meine festplatte... wink.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/6429

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Kleines Problem mit preg_replace... BartTheDevil89 77 3 Do 20.11.2008, 22:13
preg_replace - Befehl pl_90 456 6 Do 19.04.2007, 16:56
Statistik mit guter Refferer Übersicht gesucht! baerwurz 481 2 Mo 30.01.2006, 08:58
preg_replace hilfe manuel 460 1 So 16.10.2005, 10:56
Refferer selbst erstellen the2nd 861 6 So 25.07.2004, 20:45




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]