Start · Sprachen · PHP · Referenz · transliterator_get_error_message

transliterator_get_error_message

Funktion

Gibt die letzte Fehlermeldung des angegebenen <code>Transliterator</code>-Objekts zurück.

seit PHP 5.4.0 Kategorie: string

Signatur

transliterator_get_error_message(Transliterator $transliterator): string|false

Beschreibung

transliterator_get_error_message() liefert die Fehlermeldung, die beim letzten Vorgang mit dem übergebenen Transliterator-Objekt aufgetreten ist. Diese Funktion ist die prozedurale Entsprechung zur Methode Transliterator::getErrorMessage().

Die Funktion ist besonders hilfreich, wenn transliterator_transliterate() oder die Erstellung eines Transliterators fehlschlägt und man den genauen Fehlergrund ermitteln möchte. Im Erfolgsfall gibt die Funktion eine beschreibende Fehlermeldung als Zeichenkette zurück. Ist kein Fehler aufgetreten, wird in der Regel eine leere Zeichenkette zurückgegeben.

Diese Funktion wird typischerweise in Kombination mit transliterator_get_error_code() eingesetzt, um sowohl den Fehlercode als auch die lesbare Beschreibung abzufragen und entsprechend zu reagieren.

Parameter

Name Typ Default Beschreibung
$transliterator Pflicht Transliterator Das Transliterator-Objekt, dessen letzte Fehlermeldung abgerufen werden soll.

Rückgabewert

Typ
string|false
Beschreibung
Gibt die letzte Fehlermeldung als Zeichenkette zurück, oder eine leere Zeichenkette, wenn kein Fehler aufgetreten ist. Im Fehlerfall (z. B. ungültiges Objekt) wird false zurückgegeben.

Beispiele

Fehlermeldung nach fehlgeschlagener Transliteration abrufen

<?php
// Gültigen Transliterator erstellen
$transliterator = Transliterator::create('Any-Latin; Latin-ASCII');

if ($transliterator === null) {
    echo 'Transliterator konnte nicht erstellt werden.';
    exit;
}

// Transliteration durchführen
$result = transliterator_transliterate($transliterator, 'Héllo Wörld');

if ($result === false) {
    $errorCode    = transliterator_get_error_code($transliterator);
    $errorMessage = transliterator_get_error_message($transliterator);
    echo 'Fehlercode: ' . $errorCode . PHP_EOL;
    echo 'Fehlermeldung: ' . $errorMessage . PHP_EOL;
} else {
    echo 'Ergebnis: ' . $result . PHP_EOL;
}
Ergebnis: Hello World

Objektorientierte Variante zum Vergleich

<?php
// Transliterator über statische Methode erzeugen
$transliterator = Transliterator::create('Any-Latin; Latin-ASCII');

if ($transliterator === null) {
    echo 'Transliterator konnte nicht erstellt werden.';
    exit;
}

$text = 'Österreich über alles';
$result = $transliterator->transliterate($text);

if ($result === false) {
    // Prozedurale Variante
    echo 'Fehler (prozedural): ' . transliterator_get_error_message($transliterator) . PHP_EOL;
    // OOP-Variante
    echo 'Fehler (OOP): ' . $transliterator->getErrorMessage() . PHP_EOL;
} else {
    echo 'Transliteriert: ' . $result . PHP_EOL;
}
Transliteriert: Osterreich uber alles

// Wichtig · Fallstricke

Hinweis: Die Funktion gibt nur dann eine aussagekräftige Fehlermeldung zurück, wenn zuvor tatsächlich ein Fehler aufgetreten ist. Bei erfolgreichen Operationen kann die Rückgabe eine leere Zeichenkette sein. Prüfen Sie daher immer zuerst den Rückgabewert der eigentlichen Transliterationsoperation, bevor Sie die Fehlermeldung auslesen.

Diese Funktion setzt die Intl-Erweiterung (ext-intl) voraus, die in PHP seit Version 5.3 als Bundled Extension verfügbar ist, aber explizit aktiviert werden muss. Achten Sie darauf, dass intl in Ihrer php.ini geladen ist.