Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte...
https://www.Artfiles.de
 
 
 

Erste Zeichen einer Zeichenkette in Großbuchstaben umwandeln

Sie befinden sich: Home > Php Tutorial > Erste Zeichen einer...

Erste Zeichen einer Zeichenkette in Großbuchstaben umwandeln


Eintrag am:  16.11.2009
Hits / Besucher:  5179
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Sie können mit der Funktion ucfirst() das erste Zeichen einer Zeichenkette in einen Großbuchstaben umwandeln. Dies können Sie zum Beispiel bei einem Text anwenden, dazu müssten Sie bei einem Text diesen mit explode() und den Satzzeichen Punkt in ein Array zerlegen, danach können Sie mit einer Schleife jeden einzelnen Satz mit ucfirst() formatieren. Somit hätten Sie jeden Satz von einem Text mit einem großen Anfangsbuchstaben. Dies sieht einfach sauberer aus und der Text müsste nicht nachträglich händisch bearbeitet werden. Dazu sehe Beispiel 2.

Der Syntax:

ucfirst(Zeichenkette);

Beispiel:

<?php

$string = 'das ist ein ucfirst() test.';
$ucfirst_rueckgabe = ucfirst($string);
echo $ucfirst_rueckgabe;
?>



Ausgabe:

Das ist ein ucfirst() test.  

Erklärung:

Als Erstes wird in der Variable: $string ein Text gespeichert, dieser Text beginnt mit einem kleinen Buchstaben am Anfang. Danach wird mit der Funktion ucfirst() der Text formatiert und in der Variable: $ucfirst_rueckgabe hinterlegt. Anschließend wird diese Variable mit dem Befehl echo ausgegeben.

Beispiel 2:

<?php

$string = 'das ist ein ucfirst() test.';
$string .= 'der text geht weiter.';
$explode_rueckgabe = explode(".", $string);
$neuer_string = '';
foreach ($explode_rueckgabe as $key => $wert) {
if ($neuer_string != '')
$neuer_string .= '. '.ucfirst($wert);
else
$neuer_string .= ucfirst($wert);
}
echo $neuer_string;
?>

Ausgabe:

Das ist ein ucfirst() test. Der text geht weiter.  

Erklärung:

In der Variable: $string sind zwei Sätze enthalten, wo die Anfangsbuchstaben der Sätze bei den kleingeschrieben sind. Es wird als Erstes mit der Funktion explode() der Text in Array zerlegt, das Array befindet sich danach in der Variable $explode_rueckgabe. Als Nächstes wird mit einer so genannten foreach() Schleife das Array durchlaufen. In dieser Schleife wird überprüft, ob bereits in der Variable: $neuer_string ein Inhalt hinterlegt ist, mit einer sogenannten If- Anweisung. Wenn ein Inhalt hinterlegt ist, wird automatisch am Ende den letzten Satz ein Punkt und ein Leerzeichen angefügt. Danach wird mit der Ausgabefunktion echo die Variable: $neuer_string ausgegeben.

Alternativ können Sie sich die Funktionen: strtolower() und strtoupper() ansehen. Diese Funktionen formatieren den Text im Klein und Großbuchstaben.

ucfirst() und Umlaute: Das Multibyte-Problem

Die Funktion ucfirst() arbeitet nur mit ASCII-Zeichen korrekt. Bei Umlauten wie ä, ö oder ü bleibt der Buchstabe unverändert, weil diese Zeichen aus mehreren Bytes bestehen. Für Texte mit Umlauten verwenden Sie stattdessen mb_strtoupper() in Kombination mit mb_substr().

<?php

$text = 'übersicht der Funktionen';

echo ucfirst($text);
/* Ausgabe: übersicht der Funktionen */
/* Das ü bleibt klein! */

/* Multibyte-sichere Alternative: */
function mb_ucfirst($string) {
$first = mb_strtoupper(mb_substr($string, 0, 1));
$rest = mb_substr($string, 1);
return $first . $rest;
}

echo mb_ucfirst($text);
/* Ausgabe: Übersicht der Funktionen */
?>

Die Hilfsfunktion mb_ucfirst() trennt das erste Zeichen ab, wandelt es mit mb_strtoupper() in einen Großbuchstaben um und setzt den Rest wieder zusammen. So funktioniert die Umwandlung auch mit deutschen Umlauten zuverlässig.

lcfirst(): Das Gegenstueck zu ucfirst()

Die Funktion lcfirst() macht genau das Gegenteil: Sie wandelt das erste Zeichen einer Zeichenkette in einen Kleinbuchstaben um. Das kann nützlich sein, wenn Sie Variablennamen oder Bezeichner erzeugen möchten.

<?php

echo lcfirst('Hello World');
/* Ausgabe: hello World */

echo lcfirst('PHP ist toll');
/* Ausgabe: pHP ist toll */
?>

ucwords(): Jeden Wortanfang groß schreiben

Wenn Sie nicht nur das erste Zeichen, sondern den Anfangsbuchstaben jedes Wortes groß schreiben möchten, verwenden Sie ucwords(). Das ist zum Beispiel bei der Formatierung von Namen sinnvoll.

<?php

$name = 'max mustermann';
echo ucwords($name);
/* Ausgabe: Max Mustermann */

/* Trennzeichen anpassen: */
$doppelname = 'anna-maria schmidt';
echo ucwords($doppelname, ' -');
/* Ausgabe: Anna-Maria Schmidt */
?>

Der optionale zweite Parameter von ucwords() legt fest, welche Zeichen als Worttrenner gelten. Standardmäßig sind das Leerzeichen, Tabulator, Zeilenumbruch und einige weitere Steuerzeichen. Wenn auch Bindestriche als Trenner dienen sollen, geben Sie diese explizit mit an.

Praxisbeispiel: Benutzereingaben automatisch korrigieren

Bei Formulareingaben schreiben Benutzer ihren Namen häufig komplett in Kleinbuchstaben oder komplett in Großbuchstaben. Mit einer Kombination aus strtolower() und ucwords() können Sie das automatisch korrigieren.

<?php

function formatiere_name($name) {
$name = trim($name);
$name = strtolower($name);
return ucwords($name, ' -');
}

echo formatiere_name('MAX MUSTERMANN');
/* Ausgabe: Max Mustermann */

echo formatiere_name('anna-maria schmidt');
/* Ausgabe: Anna-Maria Schmidt */

echo formatiere_name(' lisa mueller ');
/* Ausgabe: Lisa Mueller */
?>

Die Funktion entfernt zuerst überflüssige Leerzeichen mit trim(), wandelt alles in Kleinbuchstaben um und setzt dann jeden Wortanfang in Großbuchstaben. So erhalten Sie eine einheitliche Darstellung unabhängig davon, wie der Benutzer den Namen eingegeben hat.

Übersicht der verwandten Funktionen

PHP bietet mehrere Funktionen zur Steuerung der Groß- und Kleinschreibung. Die folgende Tabelle gibt einen Überblick.

FunktionBeschreibung
ucfirst()Erstes Zeichen in Großbuchstaben
lcfirst()Erstes Zeichen in Kleinbuchstaben
ucwords()Jedes Wort beginnt mit Großbuchstaben
strtolower()Gesamten String in Kleinbuchstaben
strtoupper()Gesamten String in Großbuchstaben
mb_strtoupper()Multibyte-sichere Variante von strtoupper()

 

Tags:

 

Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.