Donnerstag, 19. Mai 2011

PHP Nach einer bestimmten anzahl von Zeichen trennen bzw. Ausgabe einfach abschneiden

Wer einen kurzen Teaser (Anrisstext) aufzeigen möchte der kommt um diese Fubnktion nicht drum herum.


<
?php
$rest 
substr("abcdef"); // gibt "bcdef" zurück $rest substr("abcdef"1); // gibt "bcd" zurück $rest substr("abcdef"0); // gibt "abcd" zurück $rest substr("abcdef",,); //gibt "abcdef" zurück

// Der Zugriff mittels geschwungenen Klammer ist eine
// weitere Möglickeit
$string 'abcdef';
echo 
$string{0}; // gibt a zurück echo $string{3};// gibt d zurück ?> 


wer sagt es den! Problem sind wie so oft die umlaute ä,ö,ü,ß usw. wenn mann die genau an der falschen stelle trennt. Es sind ja 2 bit zeichen statt einer. also wenn man büro nach der zweiten stelle trennt, erhält man ein Fragezeichen in eine raute. Auch die mb_substr variante verspricht hier keinen erfolg...

1 Kommentar:

  1. Die Variante mb_substr verspricht Erfolg bei der Trennung von Umlauten! Man muss allerdings die UTF-8 Kodierung sicherstellen (auf der Seite und auch über die Funktion mb_internal_encoding('UTF-8'));

    AntwortenLöschen