Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2025-03-27 (6 days ago) ![]() | Not yet rated by the users | Total: Not yet counted | Not yet ranked |
Version | License | PHP version | Categories | |||
separador-silabas-ra 1.0.0 | MIT/X Consortium ... | 5 | Algorithms, PHP 5, Text processing, L... |
Description | Author | |
This package is specific mainly for applications used in Spain
![]() This package can Separate Spanish word syllables according to RAE. |
[Please read this document's package usage instructions (https://www.phpclasses.org/browse/file/398625.html).
<p align="center"> <img src="https://img.shields.io/badge/RAE-Ortografía_2010-blue?style=for-the-badge" alt="Basado en RAE Ortografía 2010"> </p>
SeparadorSilabasRAE es una librería PHP diseñada para dividir palabras del idioma español en sus sílabas constituyentes, siguiendo estrictamente las reglas oficiales publicadas por la Real Academia Española (RAE) en su Ortografía de 2010.
Características Principales:
le-er
, pa-ís
, chi-i-ta
, Ra-úl
). Opción parano* separar hiatos (uso no estándar).
Letra H:* Maneja la 'h' intercalada correctamente, tanto en diptongos/hiatos (`ahu-mar`, `pro-hí-be`) como entre consonantes (`des-ha-cer`, `in-há-bil`, `su-per-hom-bre`).
Letra Y:* Trata la 'y' final como vocal 'i' (`rey`, `ley`).
Dígrafos:* Considera `ch`, `ll`, `rr` como unidades inseparables (`co-che`, `ca-lle`, `pe-rro`).
Grupos qu
/gu
:* Maneja `que`/`qui` y `gue`/`gui` fonéticamente.
Letra X:* Gestiona la `x` intervocálica (`e-xa-men`) y en otras posiciones (`ex-tra-ño`).
La forma recomendada de instalar la librería es a través de Composer:
composer require kuasarx/separador-silabas-rae
Asegúrate de tener la extensión mbstring
de PHP habilitada, ya que es necesaria para el manejo correcto de caracteres multibyte.
<?php
require 'vendor/autoload.php'; // Si usas Composer
use Kuasarx\Linguistica\SeparadorSilabasRAE;
use Kuasarx\Linguistica\InvalidWordException;
$separador = new SeparadorSilabasRAE();
try {
// --- Ejemplo Simple ---
$palabra = "constitucionalidad";
$resultado = $separador->separar($palabra);
echo "Palabra: " . $palabra . "\n";
echo "Sílabas: " . implode('-', $resultado['silabas']) . "\n";
// Salida: Sílabas: cons-ti-tu-cio-na-li-dad
// --- Ejemplo con Hiato ---
$palabraHiato = "aéreo";
$resultadoHiato = $separador->separar($palabraHiato);
echo "\nPalabra: " . $palabraHiato . "\n";
echo "Sílabas: " . implode('-', $resultadoHiato['silabas']) . "\n";
// Salida: Sílabas: a-é-re-o
// --- Ejemplo con H ---
$palabraH = "deshacer";
$resultadoH = $separador->separar($palabraH);
echo "\nPalabra: " . $palabraH . "\n";
echo "Sílabas: " . implode('-', $resultadoH['silabas']) . "\n";
// Salida: Sílabas: des-ha-cer
// --- Variante Regional (México) ---
$palabraTL = "atleta";
$resultadoTL_MX = $separador->separar($palabraTL, true, 'es_MX');
echo "\nPalabra: " . $palabraTL . " (Región MX)\n";
echo "Sílabas: " . implode('-', $resultadoTL_MX['silabas']) . "\n";
// Salida: Sílabas: a-tle-ta
// --- Estrategia Morfológica ---
$palabraPrefijo = "subrayar";
$resultadoPrefijoMorf = $separador->separar($palabraPrefijo, true, 'es_ES', 'morfologica');
echo "\nPalabra: " . $palabraPrefijo . " (Estrategia Morfológica)\n";
echo "Sílabas: " . implode('-', $resultadoPrefijoMorf['silabas']) . "\n";
// Salida: Sílabas: sub-ra-yar
// --- Estrategia Adaptativa ---
$palabraPrefijoAdapt = "sublunar";
$resultadoPrefijoAdapt = $separador->separar($palabraPrefijoAdapt, true, 'es_ES', 'adaptativa');
echo "\nPalabra: " . $palabraPrefijoAdapt . " (Estrategia Adaptativa)\n";
echo "Sílabas: " . implode('-', $resultadoPrefijoAdapt['silabas']) . "\n";
// Salida: Sílabas: sub-lu-nar
// --- Ignorar Hiatos ---
$palabraPais = "país";
$resultadoPaisNoHiato = $separador->separar($palabraPais, false); // hiatos = false
echo "\nPalabra: " . $palabraPais . " (Sin Hiatos)\n";
echo "Sílabas: " . implode('-', $resultadoPaisNoHiato['silabas']) . "\n";
// Salida: Sílabas: pais
// --- Generar HTML ---
$resultadoHTML = $separador->separar("programación");
echo "\nHTML para 'programación':\n";
echo $separador->generarHtml($resultadoHTML['silabas']) . "\n";
// Salida: <span class="silaba">pro</span><span class="silaba">gra</span><span class="silaba">ma</span><span class="silaba">ción</span>
} catch (InvalidWordException $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
SeparadorSilabasRAE
La clase implementa las reglas descritas en la Ortografía de la RAE (2010), § 4.1.1.1.1.2:
La librería incluye un extenso conjunto de pruebas unitarias utilizando PHPUnit. Puedes ejecutarlas con:
composer test
O para ver la cobertura de código:
composer test-coverage
(Esto generará un informe en el directorio coverage/
).
Las contribuciones son bienvenidas. Por favor, si encuentras un error o tienes una sugerencia:
Este proyecto está bajo la Licencia MIT.
Creado por Juan Camacho (kuasarx@gmail.com)
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | tests |
File | Role | Description |
---|---|---|
![]() ![]() |
Example | Example script |
![]() |
Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | |||||||
100% |
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.