W3docs

hebrev()

A função hebrev() converte texto hebraico lógico em texto visual para exibição em uma página web. Veja a sintaxe, parâmetros e exemplos.

A função PHP hebrev() converte texto hebraico lógico (armazenado na ordem em que é digitado, da direita para a esquerda) em texto visual (disposto da esquerda para a direita para que uma tela não-RTL o renderize corretamente). Ela faz isso invertendo a sequência de caracteres hebraicos na string, mantendo pontuação e espaçamento legíveis.

Esta página aborda o que hebrev() fazia, sua sintaxe e parâmetros, exemplos executáveis, por que foi removida e o que usar em seu lugar hoje.

Aviso

hebrev() foi descontinuada no PHP 7.2 e completamente removida no PHP 8.0. Chamá-la no PHP 8+ lança um Error: Call to undefined function hebrev(). Esta página serve apenas para compreensão e manutenção de código legado. Para novo código, deixe o navegador tratar a direção com HTML dir="rtl" ou CSS direction: rtl — veja Por que foi removida e o que usar em seu lugar.

Sintaxe

hebrev(string $string, int $max_chars_per_line = 0): string
ParâmetroObrigatórioDescrição
$stringSimO texto hebraico (lógico) a converter.
$max_chars_per_lineNãoNúmero máximo de caracteres por linha para quebra de linha. Quando 0 (o padrão), nenhuma quebra extra é aplicada.

A função retorna a string convertida na ordem visual. Caracteres não hebraicos (letras ASCII, dígitos, pontuação) são mantidos no lugar.

Exemplo básico

Este é o uso mais simples de hebrev() — converter uma string hebraica lógica para ordem visual:

php— editable, runs on the server

A sequência hebraica é invertida para que seja lida corretamente em um ambiente da esquerda para a direita. A saída é:

תירבע רבדמ ינא ,ןכ

Quebra de linhas com $max_chars_per_line

O segundo parâmetro insere quebras de linha para que nenhuma linha ultrapasse a largura especificada. Ele só tem efeito quando uma sequência hebraica é mais longa que o limite — strings curtas como a abaixo cabem em uma única linha, então a saída é idêntica ao exemplo básico. Com 40 aqui, o texto está bem abaixo do limite e não é quebrado:

php— editable, runs on the server

A saída:

תירבע רבדמ ינא ,ןכ

Para ver a quebra de linha de fato ocorrer, seria necessária uma sequência hebraica mais longa do que $max_chars_per_line; somente então as quebras de linha são inseridas.

Por que foi removida e o que usar em seu lugar

hebrev() é anterior à renderização bidirecional Unicode nos navegadores. O truque da "ordem visual" era necessário quando terminais e navegadores antigos não conseguiam reordenar texto da direita para a esquerda por conta própria. Hoje a camada de renderização cuida disso, então inverter caracteres no PHP é desnecessário e destrutivo (incorpora o layout nos dados).

Para novo código, mantenha o texto na sua ordem lógica natural e defina a direção na marcação:

<p dir="rtl">כן, אני מדבר עברית</p>

Ou com CSS:

.hebrew { direction: rtl; }

O navegador então reordena e quebra o texto corretamente, e a string subjacente permanece limpa para pesquisa, cópia e armazenamento.

A função complementar hebrevc() fazia a mesma conversão enquanto também transformava quebras de linha em tags <br>; ela também foi removida no PHP 8.0 — o CSS moderno quebra linhas automaticamente.

Funções relacionadas

  • hebrevc() — mesma conversão, com quebras de linha convertidas em <br> (também removida no PHP 8.0).
  • strrev() — inverte todos os caracteres em uma string (não tem consciência do hebraico).
  • wordwrap() — a forma padrão e ainda suportada de quebrar texto em uma largura de linha especificada.
  • nl2br() — insere quebras de linha HTML antes das quebras de linha em uma string.

Prática

Prática
O que a função hebrev() no PHP faz?
O que a função hebrev() no PHP faz?
Was this page helpful?