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

  • 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.


  • #2
    Seit wann ist denn die Länge in Pixeln bei Google ausschlaggebend
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Schon seit längerem.
      http://de.onpage.org/wiki/Meta_Title

      Kommentar


      • #4
        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.
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          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.

          Kommentar


          • #6
            erhalte als ausgabe 658 [...] nicht 18px sondern 18pt sind [...] 18pt sind auf normalen Systemen umgerechnet 13,5 px.
            Dreisatz? Schule? Mathe?
            Lerne Grundlagen | Schreibe gute Beispiele | PDO > mysqli > mysql | Versuch nicht, das Rad neu zu erfinden | Warum $foo[bar] böse ist | SQL Injections | Hashes sind keine Verschlüsselungen! | Dein E-Mail Regex ist falsch

            Kommentar


            • #7
              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 )
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                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!
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  //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;

                  Kommentar


                  • #10
                    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

                    Kommentar


                    • #11
                      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
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        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.
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar

                        Lädt...
                        X