Hallo,
speichere Referrer in eine refdatei.txt und lese die mit dem ersten aus. Damit die Liste nicht zu lang wird, wollte ich diese Referrer jetzt mit array_count_values() auswerten, bekomme aber im ersten Beispiel nur eine Listung mit jeweils einer 1 als Ergebnis und im zweiten Beispiel wird nur eine Zeile ausgeben. Einzeln im Test funktioniert der Code problemlos. Weiß im Augenblick nicht weiter. Vor allem nicht, wie man die obere Liste von $q und $woher in den unteren Array übernehmen könnte oder welche Möglichkeiten da noch in Frage kommen würden.
Gruß Mele
Alles anzeigen
speichere Referrer in eine refdatei.txt und lese die mit dem ersten aus. Damit die Liste nicht zu lang wird, wollte ich diese Referrer jetzt mit array_count_values() auswerten, bekomme aber im ersten Beispiel nur eine Listung mit jeweils einer 1 als Ergebnis und im zweiten Beispiel wird nur eine Zeile ausgeben. Einzeln im Test funktioniert der Code problemlos. Weiß im Augenblick nicht weiter. Vor allem nicht, wie man die obere Liste von $q und $woher in den unteren Array übernehmen könnte oder welche Möglichkeiten da noch in Frage kommen würden.
Gruß Mele
Quellcode
- <?php
- //-------- Vatiante I ------------------------------------------------
- $muster = "/q%3D/is";
- $data = preg_grep($muster, file('refdatei.txt'));
- foreach($data as $referrer){
- $suchenr = array('q%3D','%26','%3F');
- $ersetze = array('q=','&','?ab&');
- $referrer = str_replace($suchenr,$ersetze,$referrer);
- parse_str($referrer); //Query-String wird sauber nach q und woher durchsucht.
- echo $q." - ".$woher."<br>"; //Ausgabe von $q und $woher ist fehlerfrei als Liste.
- }
- $fabel = array($q, $woher);
- $zaehle = array_count_values($fabel);
- arsort($zaehle);
- while (list($kw, $zahl) = each($zaehle)){
- echo $kw." - ".$zahl."<br>"; //Es wird nur eine Zeile mit $q und $woher ausgeben.
- }
- ?>
- <?php
- //-------- Vatiante II -----------------------------------------------
- $muster = "/q%3D/is";
- $data = preg_grep($muster, file('refdatei.txt'));
- foreach($data as $referrer){
- $suchenr = array('q%3D','%26','%3F');
- $ersetze = array('q=','&','?ab&');
- $referrer = str_replace($suchenr,$ersetze,$referrer);
- parse_str($referrer); //Query-String wird sauber nach q und woher durchsucht.
- echo $q." - ".$woher."<br>"; //Ausgabe von $q und $woher ist fehlerfrei als Liste.
- $fabel = array($q, $woher);
- $zaehle = array_count_values($fabel);
- arsort($zaehle);
- while (list($kw, $zahl) = each($zaehle)){
- echo $kw." - ".$zahl."<br>"; //Jede Zeile endet wieder miit 1 und keine Sortierung.
- }
- }
- ?>
- <?php
- //-------- Vatiante Test ----------------------------------------------
- $fabel = array('Test', 'Beispiel', 'Ballspeil', 'Test', 'Beispiel', 'Beispiel');
- $zaehle = array_count_values($fabel);
- arsort($zaehle);
- while (list($kw, $zahl) = each($zaehle)){
- echo $kw." - ".$zahl."<br>"; //Bei Einzeltest alles in Ordnung mit der Ausgabe.
- }
- /* Ausgabe
- Beispiel - 3
- Test - 2
- Ballspeil - 1
- */
- ?>