Hebrev: примеры (PHP)
hebrev(string $string, int $max_chars_per_line = 0): stringФункция hebrev преобразует текст на иврите из логического порядка в визуальный, делая его корректным для отображения в браузере. Она применяется для обработки строк, содержащих символы иврита, когда текст хранится в логическом порядке (слева направо), но должен отображаться справа налево.
- $string (обязательный): Входная строка на иврите в логическом порядке.
- $max_chars_per_line (опциональный): Максимальное количество символов в строке перед разрывом. По умолчанию 0, что отключает разрывы. Если указано, функция вставляет разрывы строк (
\n) между словами.
<?php
// Пример 1: Базовое преобразование
$text = "שלום עולם";
echo hebrev($text);
?>םלוע םולש
<?php
// Пример 2: С разрывом строк
$text = "זהו טקסט ארוך מאוד בשפה העברית";
echo hebrev($text, 10);
?>תירבעה הפשב דואמ ךוטרא טקסט וזה
hebrevc(): Аналогична hebrev, но преобразует символы новой строки (\n) в <br>\n. Подходит для вывода в HTML. Предпочтительнее использовать, когда требуется сохранить разрывы строк в веб-страницах.
Некорректная кодировка: Если текст не в UTF-8, функция может работать неправильно.
<?php
// Ошибка: текст в кодировке Windows-1255
$text = iconv('UTF-8', 'Windows-1255', 'שלום');
echo hebrev($text); // Может вывести пустоту или искажения
?>���
Смешение языков: Функция не предназначена для текстов с смесью иврита и других языков.
<?php
$text = "Hello שלום";
echo hebrev($text);
?>Hello םולש
В PHP 8 не было значительных изменений в работе hebrev. Функция сохранила обратную совместимость. Однако рекомендуется использовать UTF-8 кодировку для всех строк.
<?php
// Обработка текста с переносами
$text = "טקסט\nעם\nשורות\nמרובות";
echo hebrev($text, 5);
?>תובורמ תורוש \nםע \nטקסט
<?php
// Комбинация с htmlspecialchars для безопасного вывода
$text = "<script>שלום</script>";
echo hebrev(htmlspecialchars($text), 15);
?></script>םולש<script>
<?php
// Использование с многострочным текстом
$text = "שורה ראשונה\nשורה שנייה\nשורה שלישית";
echo nl2br(hebrev($text));
?>הראשונה שורה<br /> השנייה שורה<br /> השלישית שורה
Hebrev в Javascript
// Использование CSS направления текста
document.getElementById('text').style.direction = 'rtl';Hebrev в Python
# Библиотека bidi для сложных сценариев
from bidi.algorithm import get_display
text = get_display('שלום עולם')
print(text) # מידרוגה תעדמלHebrev в MySQL
-- Установка кодировки и сортировки для столбца
ALTER TABLE table MODIFY column TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci;В отличие от PHP, эти методы часто управляют направлением текста глобально, а не преобразуют порядок символов.