kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Wichtigste Suchmaschinen und deren Rank ?

    geschrieben von grgiko

    Hallo
    welche Suchmaschinen sind denn die wichtigsten,
    und gibt es ein Ranking (nach Anzahl Suchanfragen / Seitenzugriffe)
    ... auch speziell für Deutschland ?

    also das google die Nr.1 ist, das ist mir klar, aber wie gehts weiter in der Rangfolge ?

    1. Google
    ?. Yahoo
    ?. Alexa ... ist das überhaupt ne "Suchmaschine" ?
    ?. Bing
    ?. ASK
    ?. .. ?
    ... weitere ?

    Welcher Dienst (in Deutschland / im deutschsprachiger Raum)
    hat die meisten Nutzer / Suchanfragen / Seitenzugriffe /etc. ?

    Gibt es eine (offizielle) Rang-Liste der Suchmaschinen, eine Top 10
    ... wer ist nach Google auf Platz 2, 3, 4, 5 etc. ?
    ... nach welchen Kriterien wird die Rangliste erstellt / ausgewertet ?

    und vielleicht auch eine History bzw. ein Trend oder Vergleich
    wie sich die Anfragen in den letzten Monaten / Jahren entwickelt haben ?

    das ganze am besten per API, bei der man jeden Monat die aktuellen Werte
    abholen kann, um die aktuelle Top10 auf seiner Seite ausgeben kann
    (Dienst+ Anzahl Nutzer / Anzahl Anfragen / Anfragen pro Nutzer / etc. )


    und wo wir schon dabei sind,
    gibt es bei anderen Suchmachinen wie bei Google auch sowas wie einen PageRank ?
    also einen Wert, den man auslesen kann, wie eine Seite dort eingestuft wird ?
    ... ich meine da jetzt nicht SERPs, sondern einen Keyword unabhängigen Rank
    (PS: so ganz Tot ist der Google-PageRank nicht, es gab ein Update im Mai 2012)

    habe mal was von Yahoo WebRank gesehen, aber finde kein Beispiel für Abfrage (mit PHP)
    haben andere SuMas auch solche Rank-Werte (zur Domain, keyword-unabhängig) ?

    und was sagt der Alexa-Rank aus?
    funktioniert der nur für Seiten, die auch einen Alexa-Code eingebaut haben,
    oder wie wird diesr "alexa-Rank" ermittelt ?? Traffic? .. aber woher wissen die es?

    ... so, ersmal genug Fragen für einen Thread :xD
    ich freue mich auf Antworten :)
  • in: zu langen string mit Punkten darstellen

    geschrieben von grgiko

    entweder mit CSS a:hover einen Tool-Tip einblenden
    oder (einfacher) direkt mit title="...." im Link

    und ich würde noch prüfen, ob der Link-Name überhaupt länger ist, als gewünscht
    BSP ein solcher Link-Name darf max. 21 Zeichen lang sein (9 + 3 + 9) (die 3 ist für ...)

    $files_dir = 'dateien/'; 
    $max_zeichen = 21; 
    
    $long_name  = 'super-wichtiges-dokument-mit-langem-namen.pdf';  // ---- 45 Zeichen 
    
    if (strlen($long_name) > $max_zeichen) { 
       $short_name = substr($long_name, 0, 9) . '...' . substr($long_name, -9);
    }
    else { 
       $short_name = $long_name; 
    }
    
    $link_ausgabe = "<a href=\"".$files_dir.$long_name."\" target=\"_blank\" title=\"".$long_name."\">".$short_name."</a>"; 
    
    echo "<div class=\"linkbox\">\n"; 
    echo "<span class=\"mytext\">".$link_ausgabe."</span>\n"; 
    echo "</div>\n";


    Ergebnis:
    super-wic...namen.pdf
    (Link-Text mit 21 Zeichen = 9 + 3 + 9)

    <div class="linkbox">
    <span class="mytext"><a href="dateien/super-wichtiges-dokument-mit-langem-namen.pdf" target="_blank" title="super-wichtiges-dokument-mit-langem-namen.pdf">super-wic...namen.pdf</a></span>
    </div>



    ohne die Prüfung, ob der Link-Name größer als die maximale Zeichenlänge ist
    würde ein eigentlich passender Links evt. blöd zerschnippelt ...

    BSP: (Link-Name mit 17 Zeichen)

    kurz_linkname.pdf


    würde zu: (21 Zeichen)

    kurz_link...kname.pdf


    also sogar 4 Zeichen länger
    weil bestehend aus: 9 Zeichen von vorne, dan ..., dann 9 Zeichen von hinten (9 + 3 + 9)
    auch wäre das k dann sogar doppelt :(

    also wenn die Anzahl der Zeichen kleiner oder gleich (nicht größer) als die Maximal-Zeichen,
    dann macht die Trennung da wohl eher keinen Sinn

  • in: Session/Cookie Problem unterschiedliche URL

    geschrieben von grgiko

    Hallo

    Du kannst es so machen, dass bei Aufruf ohne www.
    immer doch die Seite mit www. geladen wird

    also als Rewrite / Umleitung per .htaccess:
    die Domain immer mit www anzeigen lassen

    .htaccess
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} !^www\.esadat\.lima-city\.de$
    RewriteRule ^(.*)$ http://www.esadat.lima-city.de/$1 [L,R=301]


    So wird man bei Aufruf der Startseite als http://esadat.lima-city.de
    weitergeleitet zu http://www.esadat.lima-city.de

    Dann kann man sich nur auf Seite mit www. einloggen,
    somit sollte das Problem beseitigt sein

    Alternative wäre natürlich, die Unterseiten nicht mit www. zu machen
    also alle Links zu Unter-Seiten in "ohne www." zu ändern.

    wenn Du die Unter-Seiten schon woanders als www-Links hast,
    die du nicht alle ändern kannst / willst, dann kannst Du auch
    als .htaccess für "immer ohne www" machen, das wäre das gleiche wie oben
    nur in der RewriteCond ohne das !
    und in der RewriteRule ohne da www.

    hoffe das hilft :)
  • in: zu langen string mit Punkten darstellen

    geschrieben von grgiko

    voloya schrieb:
    ... dann gibt es bei den Dateibreiten gehörige Unterschiede (WWWWW ist breiter als iiiii).

    ... Schriftart ist übrigens Verdana mit <h2> Gewünschte Maximalbreite des Strings ist 300 Pixel.


    doch, bei Schritart "mono" und "Courier" ist die Breite aller Buchstaben gleich
    (gibt evtl auch noch andere)

    CSS Beispiel:

    .mytext { font-family: "Courier New", Courier, mono; }

    oder direkt mit style-Attribut

    <div style="font-family: "Courier New", Courier, mono;">
    <br /> 5x i = iiiii
    <br /> 5x W = WWWWW
    </div>

    BSP:
    5x i = iiiii
    5x W = WWWWW



    Damit kannst du (durch Versuche) zumindest nahe an gewünschte Breite ran kommen
    also je nach Schrift-Größe ... Testen und Zählen, wieviele Zeichen in die 300px passen
    :)


    PS: vielleicht gibt es ja auch was in CSS um die Breite je Buschstabe zu bestimmen
    ich kenne jetzt nur letter-spacing, also für den Abstand zwischen den Buschstaben,
    aber das hilft hier wohl nicht weiter
  • in: Regex Pattern mit String Ausschluss

    geschrieben von grgiko

    ja, schon besser :)

    aber da sind immernoch die unerwünschten Links im Ergebnis
    und anstatt Linktext = "Reviews" ist jetzt halt Leerstring als Linktext in $matches[3]

    also muss ich damit auch wieder "nachbearbeiten"
    und prüfen ob Elemente in $matches[3] != '' (Leerstring) bzw. mit !empty()


    z.B. irgendwie so ... entweder if (!empty($linktext)) oder if ($linktext != "")
    $ergebnis = array(); 
    
    $i=0; 
    foreach($matches[3] as $linktext) { 
       if (!empty($linktext))   // --- oder mit: if ($linktext != "") 
       { 
       $ergebnis[] = array($matches[2][$i], $matches[3][$i]); 
       }
    $i++;
    }


    kommt quasi auf's selbe raus
    ob ich prüfe, das kein "" (Leerstring) oder kein 'Reviews' vorkommt


    habe gehofft, ich kann direkt mit dem Pattern zum Ergebnis kommen,
    also gleich im $matches nur je die 3 Links, und nicht alle 6 (aus Beispiel)
    damit ich nicht nochmal Prüfung in Nachbearbeitung machen muss

    geht ja leider nicht so, das die (ganze) Regex Bedingung nicht erfüllt ist,
    wenn das böse Wort "reviews" (Groß- oder Kleinschreibung egal) darin vorkommt,
    denn auch bei gewünschten Links ist "reviews" ja Teil der URL,
    nur im Linktext darf es nicht vorkommen, aber nicht "generell nicht" ...

    naja, ist ok, mit der Nachbearbeitung kann ich schon leben, so geht's ja
    wäre halt nur "schöner" (und schlanker) wenn direkt mit Regex Pattern
    das würde den foreach-Durchlauf (Prüfung und neues Ergebnis bauen) ersparen
    ... aber bei ca. 10 Links pro Aufruf ist das auch nicht soooo ein großes Problem

    Danke !

  • in: Regex Pattern mit String Ausschluss

    geschrieben von grgiko

    hmmm. leider nicht ganz
    mit Deinem Pattern bekomme ich immer HTML im Ergebnis,
    ausser in $matches[3], aber da dann nur den Linktext
    ich will doch aber sowohl die URLs und je Linktext dazu (einzeln)


    mit meinem ursprünglichen Pattern bekomme ich in $matches
    ... hier ohne PREG_SET_ORDER als flag
    Array
    (
        [0] => Array
            (
                [0] => <a href="reviews/aaa.php">AAA</a>
                [1] => <a href="reviews/aaa.php">Reviews</a>
                [2] => <a href="reviews/bbb.php">BBB</a>
                [3] => <a href="reviews/bbb.php">Reviews</a>
                [4] => <a href="reviews/ccc.php">CCC</a>
                [5] => <a href="reviews/ccc.php">Reviews</a>
            )
    
        [1] => Array
            (
                [0] => aaa.php
                [1] => aaa.php
                [2] => bbb.php
                [3] => bbb.php
                [4] => ccc.php
                [5] => ccc.php
            )
    
        [2] => Array
            (
                [0] => AAA
                [1] => Reviews
                [2] => BBB
                [3] => Reviews
                [4] => CCC
                [5] => Reviews
            )
    
    )


    also alle Links doppelt


    jetzt - mit Deinem Pattern - bekomme ich in $matches

    Array
    (
        [0] => Array
            (
                [0] => <a href="reviews/aaa.php">AAA</a>
                [1] => <a href="reviews/aaa.php">Reviews</a> ... </p>
    <p>... <a href="reviews/bbb.php">BBB</a>
                [2] => <a href="reviews/bbb.php">Reviews</a> ... </p>
    <p>... <a href="reviews/ccc.php">CCC</a>
            )
    
        [1] => Array
            (
                [0] => "
                [1] => "
                [2] => "
            )
    
        [2] => Array
            (
                [0] => aaa.php
                [1] => aaa.php">Reviews</a> ... </p>
    <p>... <a href=
                [2] => bbb.php">Reviews</a> ... </p>
    <p>... <a href=
            )
    
        [3] => Array
            (
                [0] => AAA
                [1] => BBB
                [2] => CCC
            )
    
    )



    also in [0], [1] und [2] ganz komisch mal mit und mal ohne umschließenden <p> Tag ?!?
    ??? warum auch immer :confused:

    Mein Wunsch-Ergebnis ist

    [1] => Array
            (
                [0] => aaa.php
                [1] => bbb.php
                [2] => ccc.php
            )
    
    [2] => Array
            (
                [0] => AAA
                [1] => BBB
                [2] => CCC
            )


    wobei es egal ist, in welcher Ebene von $matches
    (und egal ob PREG_SET_ORDER oder einzelne Arrays)
    hauptsache die URLs und Linktexte, außer bei Linktext = "Reviews"



    PS: ich hatte noch die Idee, meinen ersten Pattern zu nehmen,
    und dann einfach array_unique auf $matches[1] anwenden
    dann bekomme ich auch nur "einmal" die Links (URLs)

    also so ...(mit meinem Pattern und preg_match_all ohne PREG_SET_ORDER als flag)


    $resul = array(); 
    
    $result_urls = array_unique($matches[1]); 
    
    $result['url'] = array_merge($result_urls); 
    
    $result['txt'] = array(); 
    foreach($matches[2] as $linktext) { 
      if ($linktext != 'Reviews') {$result['txt'][] = $linktext; } 
    } 
    
    print "<pre>\n"; 
    print_r($result);
    print "</pre>\n";


    keine Anhnung was jetzt besser ist (Ressourcen schonender)
    gleich den "richtigen" Pattern (der noch nicht gefunden ist)
    oder die Nachbearbeitung mit array_unique etc.
  • in: Regex Pattern mit String Ausschluss

    geschrieben von grgiko

    Hallo

    ich möchte alle Links aus einer Seite auslesen, die auf eine Datei im Ordner reviews/ zeigen

    leider sind die Links jeweils 2x vorhanden, einmal mit dem Link-Text = "der Titel des Review"
    und nocheinmal immer mit dem Link-Text = "Reviews"

    BSP:
    $content = '
    <p>... <a href="reviews/aaa.php">AAA</a> ... <a href="reviews/aaa.php">Reviews</a> ... </p>
    <p>... <a href="reviews/bbb.php">BBB</a> ... <a href="reviews/bbb.php">Reviews</a> ... </p>
    <p>... <a href="reviews/ccc.php">CCC</a> ... <a href="reviews/ccc.php">Reviews</a> ... </p>
    ';


    mit folgendem Pattern bekomme ich immer "beide" links

    $pattern = '#<a[^>]+href\="reviews/(.*)"[^>]*>(.*)</a>#Umsi';
    preg_match_all($pattern, $content, $matches, PREG_SET_ORDER); 
    
    print "<pre>\n"; 
    print_r($matches);
    print "</pre>\n";


    ich will aber nur den einen (ersten), bei dem der Link-Text nicht "Reviews" ist

    Was muss in den Pattern rein, damit ich jeweils nur den ersten Link bekomme,
    ..... also alle Links ausschließen, die als Link-Text "Reviews" haben

    irgend eine "wenn nicht" Bedingung zwichen <a> und </a> .... da wo jetzt *>(.*)</a> steht

    wie kann ich den Pattern so einstellen, das Links wie <a href="reviews/bbb.php">Reviews</a>
    keine Treffer sind, weil der Link-Text "Reviews" ist ?

Login zum Webhosting ohne Werbung!