Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

title kürzen

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
jvedat
PostRank 1
PostRank 1
Beiträge: 8
Registriert: 10.02.2011, 12:07

Beitrag von jvedat » 12.02.2011, 13:38

Servus Freunde der Abakus Gemeinschaft,
auf meinen Seiten habe ich das mal verändert:
$meta_title = substr($meta_title, 0, 66);

Jedoch schneidet es abrubt ab, was im grundegenommen richtig ist aber kann mann es noch verbessern sodass das letzte Wort komplett ausfällt wenn es abgeschnitten wird?
im Beispiel sieht das letzte Wort Uhren "Uhre" aus was unschön ist. könnte natürlich von 66 auf 67 hoch aber wird halt dann woanders wieder nicht passen.. für ne kleine Hilfestellung wäre ich dankbar.

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.02.2011, 13:59

Theoretisch ist es nur eine Kombination aus substr, strpos und wordwrap.....

Markierung in Zeichenkette setzen. (wordwrap)
Länge bis zur Markierung prüfen. (strpos)
Zu lang -> dann letzte Wort entfernen bzw, alles davor auswählen. (substr)
Zuletzt geändert von Synonym am 12.02.2011, 14:03, insgesamt 1-mal geändert.

Dr. Udo Brömme
PostRank 6
PostRank 6
Beiträge: 402
Registriert: 21.01.2011, 02:37

Beitrag von Dr. Udo Brömme » 12.02.2011, 14:02

Denk halt ein bisschen nach und bastel dir was.
Ich würde es so machen:
Zuerst den String auf 67 Zeichen kürzen (nötig falls tatsächlich genau nach 66 Zeichen ein Wort zu ende ist), dann das letzte Leerzeichen im String finden und an dieser Stelle nochmal abschneiden.


edit: synonym war schneller, finde meine variante aber schöner :P

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.02.2011, 14:06

@Dr. Brömme
Dann kann man sich das vorherige Abschneiden aber sparen.

Länge 100
Links 66 - rechts 34
Von rechts nun nach dem ersten Leerzeichen ab Pos -34 suchen und abschneiden.

Dr. Udo Brömme
PostRank 6
PostRank 6
Beiträge: 402
Registriert: 21.01.2011, 02:37

Beitrag von Dr. Udo Brömme » 12.02.2011, 14:09

Synonym hat geschrieben:@Dr. Brömme
Dann kann man sich das vorherige Abschneiden aber sparen.

Länge 100
Links 66 - rechts 34
Von rechts nun nach dem ersten Leerzeichen ab Pos -34 suchen und abschneiden.
ja hast recht, auch möglich und evtl. ein klein wenig ressourcenschonender...

t-rex
PostRank 7
PostRank 7
Beiträge: 585
Registriert: 15.03.2004, 14:00

Beitrag von t-rex » 12.02.2011, 14:47

Hi,

ich würde den String mit explode anhand von Leerzeichen aufsplitten. Und dann die Wörter wieder in einer Schleife so lange zusammen fügen, bis ich die gewünschte Länge erreicht habe.

Code: Alles auswählen

<?
$words = explode&#40;' ', $title&#41;;
$title = '';
foreach&#40;$words as $word&#41; &#123;
  $title .= $word;
  if &#40;strlen&#40;$title&#41; >= 66&#41; &#123;
    break;
  &#125;
&#125;
?>
Sonnige Grüsse
HaPe
Keiner weiss wass ich tue, aber alle wissen wie ich es besser machen kann
save the bookmark - logocreatr - backgrounds - templatr- PPC Themes

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.02.2011, 14:52

Das ist aber so nicht ganz richtig, denn dann kann der String länger als 66 Zeichen sein. Wenn schon, dann vorher die aktuelle Länge mit der Länge des Wortes addieren. Wenn dann weniger oder gleich 66, dann erst das Wort anhängen.

jvedat
PostRank 1
PostRank 1
Beiträge: 8
Registriert: 10.02.2011, 12:07

Beitrag von jvedat » 14.02.2011, 18:11

funktioniert wunderbar jedoch die Ausgabe des titels ist komplett ohne leerzeichen.. wo steckt da der Wurm?

Dr. Udo Brömme
PostRank 6
PostRank 6
Beiträge: 402
Registriert: 21.01.2011, 02:37

Beitrag von Dr. Udo Brömme » 14.02.2011, 18:49

jvedat hat geschrieben:funktioniert wunderbar jedoch die Ausgabe des titels ist komplett ohne leerzeichen.. wo steckt da der Wurm?

Code: Alles auswählen

<? 
$words = explode&#40;' ', $title&#41;; 
$title = ''; 

for &#40; $i = 0; $i <= count&#40;$words&#41;; $i += 1&#41; &#123;
  
  if &#40;&#40;strlen&#40;$title&#41; + strlen&#40;$words&#91;$i&#93;&#41;&#41; >= 66&#41; &#123; 
        break; 
  &#125;

  $title .= $words&#91;$i&#93;; 
  $title .= ' ';
  
   
&#125; 
?>

(nicht getestet)

jvedat
PostRank 1
PostRank 1
Beiträge: 8
Registriert: 10.02.2011, 12:07

Beitrag von jvedat » 14.02.2011, 19:00

$words = explode(' ', $meta_title);
$meta_title = '';
foreach($words as $word) {
$meta_title .= $word;
if (strlen($meta_title) >= 55) {
break;
}
$meta_title .= $words[$i];
$meta_title .= ' ';
}

############somit abgehakt ;) danke!!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag