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.
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âmetro | Obrigatório | Descrição |
|---|---|---|
$string | Sim | O texto hebraico (lógico) a converter. |
$max_chars_per_line | Não | Nú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:
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:
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.