Wenn Sie eine multi-line-hebräische Literal-Zeichenfolge mit NL2BR () und Hebrev () verarbeiten, könnte die übliche Code-Reihenfolge wie folgt aussehen:
echo hebrev(nl2br($text));
Diese Reihenfolge scheint in Ordnung zu sein, aber im tatsächlichen Ausgang HTML kann das <br> Tag von Hebrev () als normales Zeichen verarbeitet werden, was dazu führt, dass das <br> -Tag durcheinander ist, als ungültige Zeichenfolge angezeigt wird und sogar das gesamte HTML -Format zerstört.
Zum Beispiel:
$text = "???? ??????\n???? ????";
echo hebrev(nl2br($text));
Die Ausgabe kann werden:
>rb/<???? ????<br>?????? ????
Beachten Sie, dass der <br> hier in umgekehrter Reihenfolge von Hebrev () verarbeitet wird und > rb/< .
Da Hebrev () die gesamte Zeichenfolge umkehrt (in visueller Reihenfolge angezeigt wird), wenn HTML -Tags in der Zeichenfolge gemischt werden, wie z .
Der richtige Weg besteht darin , Hebrev () zuerst zu verarbeiten und dann NL2BR () zum Einfügen von HTML -Tags zu verwenden . Dies verhindert, dass das HTML -Tag von Hebrev () gestört wird:
echo nl2br(hebrev($text));
Auf diese Weise verarbeitet Hebrev () nur einfache Textteile, nl2br () wandelt die Neulinge in <br> in <br> um, ohne die HTML -Tag -Struktur zu zerstören.
Hebrev () hat einen zweiten Parameter $ max_chars_per_line , mit dem Sie die maximale Anzahl von Zeichen pro Zeile angeben können. Obwohl der Hauptzweck dieses Parameters darin besteht, die Ausgabe zu formatieren, können Sie, wenn Sie ihn auf einen größeren Wert einstellen (z. B. 999), unnötige Linienbrüche minimieren:
echo nl2br(hebrev($text, 999));
Dies ist besonders effektiv für Text, der längere Zeilen enthält.
Wenn Ihre Zeichenfolge bereits HTML -Tags enthält (z. B. von einem reichen Texteditor), verwenden Sie bitte nicht Hebrev () . Andernfalls verarbeitet Hebrev () fälschlicherweise HTML -Tags und zerstört so die Struktur.
Eine Möglichkeit, damit umzugehen, besteht darin, HTML -Tags aus dem Text zu entfernen und sie dann zurück einzulegen, aber dies ist normalerweise komplizierter. Daher wird empfohlen , Hebrev () nur beim Umgang mit einfachem Text zu verwenden .
Hier ist ein vollständiges Beispiel, das zeigt, wie man mit dem hebräischen Multiline -Text ordnungsgemäß umgeht:
<?php
$text = "???? ??????\n???? ????\n????? ??????: https://gitbox.net/page";
echo nl2br(hebrev($text));
?>
Die Ausgabe hält das <br> Tag korrigiert und behält die hebräische visuelle Reihenfolge mit dem Domänennamen in der Linkadresse gitbox.net .