neumann erika: eregi

Für meinen kleinen Counter habe ich auch eine Auswertung der Zugriffs-Länder.
Und zwar wird der Remote-Host auf die Endung untersucht. Somit sollte dann zB
.de "Deutschland" ergeben.

Lautet der REmote-Hoste zB "crawl-66-249-71-17.googlebot.com",
so erkennt mein unten stehender Code das Land als "Oman", anstelle von
"COM"! Spricht, der "erergi" scheint das ".c" abzuschneiden.

Mega-Strange!! Habe schon versucht den Punkt ganz wegzulassen, oder
durch ASCII-Code zu ersetzen. Leider ergebnislos.

Nun bitte ich Euch um Hilfe!!

Liebe Grüsse
Erika

-----------------------mein code -------------------------------

<?
$str_remote ="crawl-66-249-71-17.googlebot.com";

if (eregi(".al$",$str_remote)) {$str_land="Albanien"; }
elseif (eregi(".ad$",$str_remote)) {$str_land="Andorra"; }
elseif (eregi(".lb$",$str_remote)) {$str_land="Libanon"; }
elseif (eregi(".om$",$str_remote)) {$str_land="Oman"; }
elseif (eregi(".pw$",$str_remote)) {$str_land="Palau"; }
elseif (eregi(".biz$",$str_remote)) {$str_land="BIZ (Firmen)"; }
elseif (eregi(".com$",$str_remote)) {$str_land="COM (Kommerziell)"; }
elseif (eregi(".coop$",$str_remote)) {$str_land="COOP (Cooper.)"; }
elseif (eregi(".edu$",$str_remote)) {$str_land="EDU (US Institutionen für Ausbildung)"; }
else {}

echo"$str_land";
?>

  1. Du musst den Punkt maskieren, also eregi(".om$",...), sonst bedeutet er "jedes beliebige Zeichen".

    Für meinen kleinen Counter habe ich auch eine Auswertung der Zugriffs-Länder.
    Und zwar wird der Remote-Host auf die Endung untersucht. Somit sollte dann zB
    .de "Deutschland" ergeben.

    Lautet der REmote-Hoste zB "crawl-66-249-71-17.googlebot.com",
    so erkennt mein unten stehender Code das Land als "Oman", anstelle von
    "COM"! Spricht, der "erergi" scheint das ".c" abzuschneiden.

    Mega-Strange!! Habe schon versucht den Punkt ganz wegzulassen, oder
    durch ASCII-Code zu ersetzen. Leider ergebnislos.

    Nun bitte ich Euch um Hilfe!!

    Liebe Grüsse
    Erika

    -----------------------mein code -------------------------------

    <?
    $str_remote ="crawl-66-249-71-17.googlebot.com";

    if (eregi(".al$",$str_remote)) {$str_land="Albanien"; }
    elseif (eregi(".ad$",$str_remote)) {$str_land="Andorra"; }
    elseif (eregi(".lb$",$str_remote)) {$str_land="Libanon"; }
    elseif (eregi(".om$",$str_remote)) {$str_land="Oman"; }
    elseif (eregi(".pw$",$str_remote)) {$str_land="Palau"; }
    elseif (eregi(".biz$",$str_remote)) {$str_land="BIZ (Firmen)"; }
    elseif (eregi(".com$",$str_remote)) {$str_land="COM (Kommerziell)"; }
    elseif (eregi(".coop$",$str_remote)) {$str_land="COOP (Cooper.)"; }
    elseif (eregi(".edu$",$str_remote)) {$str_land="EDU (US Institutionen für Ausbildung)"; }
    else {}

    echo"$str_land";
    ?>

  2. Hallo Erika,

    hier wird alles gefunden, was mit "om" aufhört, also dom, com (!!!!!), fom und sogar zom !

    elseif (eregi(".om$",$str_remote)) {$str_land="Oman"; }

    da es sich um eine elseif-Anweisung handelt und das "com" bereits oben bei "om" abgefangen wurde, kommt es hier nicht hin !

    elseif (eregi(".com$",$str_remote)) {$str_land="COM (Kommerziell)"; }

    Gruß

    Hans