Ankündigung

Einklappen
Keine Ankündigung bisher.

Google Title Länge - imagettfbbox

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • boray16
    hat ein Thema erstellt Google Title Länge - imagettfbbox.

    Google Title Länge - imagettfbbox

    Hallo,
    ich möchte gerne die Länge eines Strings in Pixel ausgeben. Benötigt für die Suchausgaben bei Google. Leider bekomme ich mit imagettfbbox nicht die richtigen Werte heraus. Mein bisheriger Code:
    PHP-Code:
        $text "Suchmaschinen-Geheimtipp: die länge der Meta-Description !";
        
    $fontfile 'helper/arial.ttf';
        
    $groesse18;
        
    $box imagettfbbox $groesse0$fontfile$text );
        echo 
    abs($box[4] - $box[0]); 
    Da Google die Schriftgröße 18 und Arial für den Title benutzt, habe ich diese erst einmal verwendet und erhalte als ausgabe 658. Jedoch müsste der Wert so um die 510 liegen.
    Ich glaube, dass das Problem zwischen Px und Pt besteht und das es nicht 18px sondern 18pt sind. 18pt sind auf normalen Systemen umgerechnet 13,5 px. Jedoch nimmt imagettfbbox nur integer.
    Hat einer vo euch eine Ahnung wie man das Problem lösen könnte.

  • Arne Drews
    antwortet
    Da Google ja jedes Zeichen berechnet:
    PHP-Code:
    $sTitleString 'Der ganze Aufwand nur, um weitere Beiträge zu sammeln, wie ja mittlerweile aufgedeckt wurde!';
    $aLetters array_reversestr_split($sTitleString) );
    $aAcceptedStringLetters = array();

    $iGoogleLimit 510;


    while ( 
    $iGoogleLimit ) {
        
        
    $sLetter end$aLetters );
        
    $aAcceptedStringLetters[] = $sLetter;
        
        
    $aData imagettfbbox13.50'./arial.ttf'$sLetter );
        
    $iSize = (integer)abs$aData[2] );

        
    $iGoogleLimit -= $iSize;
        unset( 
    $aLetters[count($aLetters)-1] );

    }

    echo 
    implode$aAcceptedStringLetters ) . ' ...'
    Ausgabe:
    Code:
    Der ganze Aufwand nur, um weitere Beiträge zu sammeln, wie ...
    Mit verschiedenen Strings getestet und für gut befunden.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Sorry, scheint mein fehler zu sein, aber auf
    http://www.php.net/manual/de/function.imagettfbbox.php
    steht mit int.
    Hm, du hast Recht.. in diesem Punkt bist du entlastet

    Einen Kommentar schreiben:


  • boray16
    antwortet
    Wie kommst'n auf das schmale Brett?

    http://de.php.net/manual/en/function.imagettfbbox.php
    Sorry, scheint mein fehler zu sein, aber auf
    http://www.php.net/manual/de/function.imagettfbbox.php
    steht mit int.

    goggle nimmt bei mir:
    Zitat:
    // unter schriftarten
    Verwendet: "Liberation Sans"
    //unter berechneten styles
    color: rgb(84, 84, 84);
    font-family: arial,sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18.2px;
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    visibility: visible;
    wor
    es geht nicht um die Description sondern um den Ttitle, der hat
    Code:
    #res h3 {
        font-size: 18px !important;
    }
    und Arne drews
    Ja, aber auf der sicheren Seite!
    ich möchte nicht auf nummer sicher gehen und irgendwas abschneiden. ich möchte einfach nur die genaue Länge in Pixel für einen String wissen.

    PHP-Code:
        $text "Suchmaschinen-Geheimtipp: die länge der Meta-Description !";
        
    $fontfile 'helper/arial.ttf';
        
        
    $groesse13;
        
    $box imagettfbbox $groesse0$fontfile$text );
        echo 
    $groesse.": ".abs($box[4] - $box[0])."px<br/>";
        
        
    $groesse13.5;
        
    $box imagettfbbox $groesse0$fontfile$text );
        echo 
    $groesse.": ".abs($box[4] - $box[0])."px<br/>";
        
        
    $groesse14;
        
    $box imagettfbbox $groesse0$fontfile$text );
        echo 
    $groesse.": ".abs($box[4] - $box[0])."px<br/>"
    gibt mir folgendes aus:
    Code:
    13: 446px
    13.5: 487px
    14: 514px

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    //offtopic:
    goggle nimmt bei mir:
    // unter schriftarten
    Verwendet: "Liberation Sans"
    //unter berechneten styles
    color: rgb(84, 84, 84);
    font-family: arial,sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18.2px;
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    visibility: visible;
    word-wrap: break-word;

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Dann begrenze ich den String ja auch nur nach zeichenanzahl und nicht nach Länge in Pixel.
    Ja, aber auf der sicheren Seite! Es sei denn Du bestückst Deine Title-Zeichenketten mit massen haft schmalen Buchstaben, wie bspw. i und l ?! Wenns passt ok, dann siehe ApoY2k

    Hättest du meinen ersten Post richtig gelesen und hier nicht nur postest um deine Anzahl an Beiträgen zu pushen hättest du das auch verstanden.
    Wenn DU den Sinn hinter meinem verstanden hättest, hättest DU Dir die dreiste Reaktion verkniffen!

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von boray16 Beitrag anzeigen
    Jedoch nimmt imagettfbbox nur integer.
    Wie kommst'n auf das schmale Brett?

    http://de.php.net/manual/en/function.imagettfbbox.php

    array imagettfbbox ( float $size , float $angle , string $fontfile , string $text )

    Einen Kommentar schreiben:


  • ApoY2k
    antwortet
    erhalte als ausgabe 658 [...] nicht 18px sondern 18pt sind [...] 18pt sind auf normalen Systemen umgerechnet 13,5 px.
    Dreisatz? Schule? Mathe?

    Einen Kommentar schreiben:


  • boray16
    antwortet
    Dann begrenze ich den String ja auch nur nach zeichenanzahl und nicht nach Länge in Pixel. Ich suche explizit nach einer Funktion die mir die Länge eines Strings mit der Schriftgröße 18 und Schriftart Arial in Pixel ausgibt.
    Das macht die Funktion imagettfbbox auch, nur leider nicht mit den Werten die ich mir wünsche. Hättest du meinen ersten Post richtig gelesen und hier nicht nur postest um deine Anzahl an Beiträgen zu pushen hättest du das auch verstanden.

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    War mir neu...

    Gut, dann mach es halt so:
    Du nimmst Dir den Buchstaben W und wiederholst den, bis Du die Pixelbreite 510 erreichst.
    Die Anzahl an W nimmst Du als maximale Zeichenanzahl dann sollte das immer hinhauen.

    Einen Kommentar schreiben:


  • boray16
    antwortet
    Schon seit längerem.
    http://de.onpage.org/wiki/Meta_Title

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Seit wann ist denn die Länge in Pixeln bei Google ausschlaggebend

    Einen Kommentar schreiben:

Lädt...
X