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", 1 ); // gibt "bcdef" zurück $rest = substr("abcdef", 1, 3 ); // gibt "bcd" zurück $rest = substr("abcdef", 0, 4 ); // gibt "abcd" zurück $rest = substr("abcdef",0 ,8 ); //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