Saltar al contenido

Cómo convertir caracteres árabes a Unicode usando PHP

Te damos la contestación a esta incógnita, al menos eso esperamos. Si presentas preguntas dínoslo, para nosotros será un placer ayudarte

Solución:

Todo lo que necesita es una función llamada: utf8Glyphs que puede encontrar en ArGlyphs.class.php, descárguela de ar-php y visite Ar-PHP para obtener más información sobre ArPHP sobre el proyecto y las clases.

Esto invertirá la palabra con el mismo de sus caracteres (glifos).

Ejemplo de uso:

    utf8Glyphs($text);
    echo $text;
    ?>

asumo que quieres convertir بهروز a u0628u0647u0631u0648u0632 echa un vistazo a http://hsivonen.iki.fi/php-utf8/ todo lo que tienes que hacer después de llamar a unicodeToUtf8(‘بهروز’) es para convertir enteros que tienes en array para hexadecimal y asegúrese de que tengan 4 dígitos y prefix Em con u y ya está. también puedes obtener lo mismo usando json_encode

json_encode('بهروز') // returns "u0628u0647u0631u0648u0632"

EDITAR:

Parece que desea obtener códigos de caracteres de بب, cuyo primero difiere del segundo, todo lo que tiene que hacer es aplicar el algoritmo bidi en su texto usando fribidi_log2vis y luego obtener el código de caracteres de una de las formas que dije antes.

aquí hay un ejemplo:

$string = 'بب'; // u0628u0628
$bidiString = fribidi_log2vis($string, FRIBIDI_LTR, FRIBIDI_CHARSET_UTF8);
json_encode($bidiString); // ufe90ufe91

EDITAR:

Acabo de recordar que tcpdf tiene un algoritmo bidi que se implementó usando php puro, por lo que si no puede hacer que funcione la extensión fribidi de php, puede usar tcpdf (utf8Bidi está protegido de manera predeterminada, por lo que debe hacerlo público)

require_once('utf8.inc'); // http://hsivonen.iki.fi/php-utf8/
require_once('tcpdf.php'); // http://www.tcpdf.org/
$t = new TCPDF();
$text = 'بب';
$t->utf8Bidi(utf8ToUnicode($text)); // will return an array like array(0 => 65168, 1 => 65169)

Simplemente configure el elemento que contiene el texto árabe en “rtl” (de derecha a izquierda), luego ingrese el árabe escrito correctamente y el texto fluirá con todas las ligaduras buscadas.

div dirección:rtl;

En una nota al margen, no olvide leer “El mínimo absoluto que todo desarrollador de software debe saber absoluta y positivamente sobre Unicode y conjuntos de caracteres (¡sin excusas!)”

Piensa en eso: la letra árabe “ba” (ب) es un “ba” sin importar dónde aparezca en la oración.

Reseñas y calificaciones

Si crees que te ha resultado de provecho nuestro post, sería de mucha ayuda si lo compartieras con el resto seniors así nos ayudas a dar difusión a nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *