Start · Sprachen · PHP · Referenz · hebrev

hebrev

Funktion

Konvertiert logischen hebräischen Text in visuell geordneten (sichtbaren) Text, optional mit Zeilenumbruch nach einer bestimmten Zeichenanzahl.

seit PHP 4.0.0 Kategorie: string

Signatur

hebrev(string $string, int $max_chars_per_line = 0): string

Beschreibung

hebrev() wandelt hebräischen Text, der in logischer Reihenfolge gespeichert ist (d. h. so wie er getippt wird), in die visuelle Reihenfolge um, die für die korrekte Darstellung in Umgebungen ohne native Rechts-nach-links-Unterstützung (RTL) benötigt wird. Hebräische Zeichen werden dabei von rechts nach links gespiegelt, sodass ältere Ausgabesysteme den Text korrekt anzeigen können.

Der zweite Parameter max_chars_per_line ermöglicht es, den Text automatisch an Wortgrenzen umzubrechen, wenn eine Zeile die angegebene Zeichenanzahl überschreitet. Ein Wert von 0 deaktiviert diesen automatischen Umbruch.

Diese Funktion ist vor allem für Legacy-Systeme und ältere Webanwendungen relevant, die kein Unicode-basiertes Bidirektionalitäts-Rendering (BiDi) unterstützen. In modernen Webanwendungen, die UTF-8 und HTML mit dem Attribut dir="rtl" oder Unicode-BiDi-Algorithmen verwenden, ist hebrev() in der Regel nicht notwendig.

Beachte, dass die Funktion ausschließlich für hebräischen Text ausgelegt ist und nicht für arabischen oder anderen RTL-Text verwendet werden sollte. Die Schwester-Funktion hebrevc() bietet dasselbe Verhalten, wandelt jedoch zusätzlich Zeilenumbrüche (\n) in <br>-Tags um.

Parameter

Name Typ Default Beschreibung
$string Pflicht string Der hebräische Text in logischer Reihenfolge, der in die visuelle Reihenfolge konvertiert werden soll.
$max_chars_per_line int 0 Maximale Anzahl an Zeichen pro Zeile. Bei 0 (Standard) wird kein Zeilenumbruch eingefügt. Ist der Wert größer als 0, wird der Text an Wortgrenzen umgebrochen, wenn die Zeilenlänge überschritten wird.

Rückgabewert

Typ
string
Beschreibung
Gibt den konvertierten hebräischen Text in visueller Reihenfolge als String zurück. Bei aktiviertem Zeilenumbruch enthält der Rückgabewert entsprechende Zeilenumbruchzeichen (\n).

Beispiele

Einfache Konvertierung von logischem zu visuellem hebräischem Text

<?php
// Hebräischer Text in logischer Reihenfolge (ISO-8859-8)
$logicalText = "\xe9\xf9\xf8\xe0\xec";

// Konvertierung in visuelle Reihenfolge
$visualText = hebrev($logicalText);

echo $visualText;
?>
לארשי

Hebräischen Text mit automatischem Zeilenumbruch ausgeben

<?php
// Langer hebräischer Text in logischer Reihenfolge
$longText = "\xe9\xf9\xf8\xe0\xec \xe4\xe9\xe0 \xee\xe3\xe9\xep\xe4 \xe9\xf4\xe4";

// Konvertierung mit maximal 10 Zeichen pro Zeile
$result = hebrev($longText, 10);

// Ausgabe für alte Nicht-BiDi-Umgebungen
echo nl2br($result);
?>

// Wichtig · Fallstricke

Deprecation-Hinweis: Ab PHP 8.0 ist hebrev() als veraltet eingestuft (deprecated) und wird in einer zukünftigen PHP-Version möglicherweise entfernt. Für moderne Webanwendungen sollte stattdessen auf Unicode (UTF-8) und HTML/CSS-basiertes RTL-Rendering (dir="rtl", unicode-bidi) gesetzt werden.

Die Funktion arbeitet mit dem veralteten ISO-8859-8-Zeichensatz (hebräisches Encoding). Sie funktioniert nicht korrekt mit UTF-8-kodierten hebräischen Texten. Wer modernes UTF-8 verwendet, sollte die Bidirektionalität über den Unicode-BiDi-Algorithmus und CSS steuern.

Für HTML-Ausgabe ist die verwandte Funktion hebrevc() praktisch, da sie Zeilenumbrüche automatisch in <br>-Tags konvertiert.

Siehe auch