Les comento que esto es un módulo de PHP-Nuke que encontre por ahí. Se trata de un diccionario en el que uno ingresa una palabra y el programa la búsca en la base de la RAE y devuelve la definición del diccionario, o sea, realiza una consulta en una fuente externa.
El módulo anda bastante bien, pero ví que tiene ese "problemita" y quería ver si lo podía solucionar.
Código:
<?php
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
$pagetitle = "La Compañía Gris - RAE";
//ini_set("include_path", ".");
if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}
if (!isset($LEMA)) $LEMA = "";
if (!isset($IDVERBO)) $IDVERBO = "";
function cabecera() {
global $module_name,$LEMA;
OpenTable();
echo "<center>";
echo "<table width=\"60%\" border=\"0\">";
echo "<tr>";
echo "<td width=\"50%\" align=\"center\"><a href=\"http://www.rae.es\"><img src=\"modules/$module_name/logo.gif\" border=\"0\" alt=\"\"></a></td>";
echo "<td width=\"50%\" align=\"left\"><b>DICCIONARIO DE LA LENGUA ESPAÑOLA<br>Vigésima segunda edición</b><br><a href=\"http://www.rae.es\" target=\"blank\">http://www.rae.es</a></td>";
echo "</tr>";
echo "</table><br>";
echo "<form action=\"modules.php?name=$module_name&LEMA=$LEMA&IDVERBO=\" method=\"post\">"
."<font class=\"content\"><input type=\"text\" size=\"45\" name=\"LEMA\" value=\"$LEMA\"> <input type=\"submit\" value=\"Consultar\"></font>"
."</form>";
echo "</center>";
CloseTable();
}
function busqueda($url) {
global $module_name;
OpenTable();
$texto = "";
$fichero = $url;
// Mete el contenido de un fichero en una cadena
$fd = fopen ($fichero, "r");
while ($line=fgets($fd,1000)) $texto .= $line;
fclose ($fd);
$texto_iso8859 = utf8_decode($texto);
$texto_iso8859 = str_replace ("/draeI/icono/","modules/Diccionario/",$texto_iso8859);
$texto_iso8859 = str_replace ("SrvltGUIVerbos?","modules.php?name=Diccionario&LEMA=&",$texto_iso8859);
$texto_iso8859 = str_replace ("/draeI/SrvltObtenerHtml?","modules.php?name=Diccionario&IDVERBO=&",$texto_iso8859);
// /draeI/icono/
echo "<b>Nota:</b> Debido al conjunto de caracteres utilizado en <b>La Compañía Gris</b>, el conjunto ISO-8859-1, la etimología de la palabra consultada puede que no aparezca correctamente (caracteres '?'). La única solución que se nos ha ocurrido es insertar marcos, pero debido a la arquitectura de la web esto no es posible. Si alguien conoce otra solución le ruego nos lo haga saber. Gracias.<br><br>";
echo "<center>";
echo $texto_iso8859;
echo "</center>";
CloseTable();
}
include("header.php");
cabecera();
if($LEMA!="") {
echo "<br>";
$url = "http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=$LEMA&IDVERBO=";
busqueda($url);
}
elseif($IDVERBO!="") {
echo "<br>";
$url = "http://buscon.rae.es/draeI/SrvltGUIVerbos?TIPO_HTML=2&IDVERBO=$IDVERBO&LEMA=";
busqueda($url);
}
include("footer.php");
?>
Gracias a todos por las respuestas.