1

Hebrevc: примеры (PHP)

Использование функции hebrevc для работы с ивритским текстом в PHP
Раздел: Работа со строками
hebrevc(string $string, int $max_chars_per_line = 0): string
Описание функции hebrevc

Функция hebrevc преобразует строку на иврите, записанную в логическом порядке (слева направо), в визуальный порядок (справа налево). Она также выполняет преобразование перевода строки \n в HTML-тег <br>.

Использование функции актуально при отображении текста на иврите в веб-приложениях, когда исходные данные хранятся в логической кодировке. Это часто необходимо для корректного отображения в HTML.

Аргументы функции
  • string (обязательный) – строка на иврите в логической кодировке для преобразования.
  • max_chars_per_line (опциональный, по умолчанию 0) – максимальное количество символов в строке перед вставкой разрыва <br>. Если установлено в 0, разрывы строк не вставляются, кроме существующих переводов строк.
Короткие примеры использования hebrevc
Базовое преобразование строки
<?
$hebrew_text = "שלום עולם\nזה הוא טקסט בעברית.";
echo hebrevc($hebrew_text);
?>
.טקסט בעברית הוא זה
עולם שלום
Использование с параметром max_chars_per_line
<?
$text = "זהו משפט ארוך מאוד בעברית שצריך להיות מחולק לשורות.";
echo hebrevc($text, 10);
?>
.לשורות מחולק להיות צריך שבעברית מאוד ארוך משפט זהו
Похожие функции в PHP
  • hebrev() – выполняет аналогичное преобразование, но не заменяет переводы строк на теги <br>. Используется, когда необходимо сохранить логическую структуру строк без HTML-разметки.
  • iconv() и mb_convert_encoding() – функции для преобразования кодировок. Применяются, когда проблема заключается не в порядке символов, а в неправильной кодировке текста.

Функцию hebrevc предпочтительнее использовать для быстрого преобразования текста на иврите для веб-отображения. Для более сложных манипуляций с кодировками лучше подходят iconv или расширение Multibyte String.

Типичные ошибки
Использование с не-ивритским текстом

Функция не предназначена для других языков и может давать неожиданные результаты.

<?
echo hebrevc("Hello world");
?>
Hello world
Неправильная кодировка исходной строки

Если строка не в правильной кодировке (например, UTF-8), результат будет некорректным. Функция ожидает однобайтовую кодировку (ISO-8859-8).

Изменения в последних версиях PHP

В PHP 8.0.0 параметр max_chars_per_line стал необязательным, его значение по умолчанию изменено с 0. В более ранних версиях требовалось явное указание этого параметра.

Начиная с PHP 7.4.0, функция выдает предупреждение, если параметр max_chars_per_line меньше 0. В PHP 8 такое значение приводит к выбрасыванию исключения ValueError.

Расширенные примеры
Обработка многострочного текста
Пример php
<?
$multi_line = "שורה ראשונה\nשורה שנייה\nשורה שלישית";
echo hebrevc($multi_line);
?>
שלישית שורה
שנייה שורה
ראשונה שורה
Комбинирование с htmlspecialchars
Пример php
<?
$user_input = "\nטקסט בעברית";
$safe_text = hebrevc(htmlspecialchars($user_input));
echo $safe_text;
?>
טקסט בעברית
<script>alert('test')</script>
Использование с разными значениями max_chars_per_line
Пример php
<?
$long_text = "אקסטרה לאונג טקסט אינשרנט לשם הדגמת הפונקציה עם פרמטר אורך שורה";
echo hebrevc($long_text, 5);
?>
.שורה אורך פרמטר עם הפונקציה הדגמת לשם אינשרנט טקסט לאונג אקסטרה
Альтернативы в других языках

Hebrevc в Javascript

В JavaScript нет прямой аналогии, но можно использовать CSS-свойство direction: rtl; или методы для работы с юникодом.

// CSS-решение
document.getElementById('hebrew').style.direction = 'rtl';

Hebrevc в Python

В Python для реверсирования строки можно использовать срезы, но это не полноценная альтернатива.

text = "שלום עולם"
reversed_text = text[::-1]
print(reversed_text)  # מלוע םולש
מלוע םולש

Hebrevc в MySQL

В MySQL можно использовать функцию CONVERT для изменения кодировки или REVERSE для инвертирования строки, но это не эквивалентно логико-визуальному преобразованию.

PHP hebrevc function comments

En
Hebrevc Convert logical Hebrew text to visual text with newline conversion