Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/07/2004, 13:53
Avatar de JJRC
JJRC
 
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 261
Antigüedad: 21 años, 4 meses
Puntos: 1
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.
__________________
El dinero no te cambia, te delata...