Pregunta: ¿Como puedo mejorar el editor Maguma Studio usando PHP?  
Requisitos: conexion a internet, php local.  
Respuesta: utilizando quickref.txt de cvs.php.net y parseando el manual de php version html. 
Ulilizando PHP con sus funciones para expresiones regulares es posible mejorar el editor para PHP Maguma Studio, de manera que:[list=1][*]El highlight (coloreado de texto) reconozca 
todas las funciones de PHP.[*]Que la ayuda contextual con los parametros para las funciones, y  las "Funciones Nativas de PHP" (ToolBox>Class Browser) aparezcan en español! (la mayoria 

P)[/list=1]  
Para realizar el punto 
1 debemos tener en cuenta que Maguma utiliza un archivo llamando php-funcs.dat (por defecto se encuentra en C:\Archivos de programa\Maguma Studio\Data\php-funcs.dat) para almacenar todas la funciones que serán coloreadas; entonces lo que haremos es "actualizar" este fichero con uno nuestro mas completo siguiendo estos pasos:[list=a][*] Guargar en nuestro disco el archivo 
http://cvs.php.net/cvs.php/phpdoc/quickref.txt?login=2 , que es la 
lista oficial de las funciones php con su descripcion.[*] Utilizar el siguiente código para crear un nuevo php-funcs.dat 
 Código PHP:
    $quickrefdecvs = "c:\\windows\\escritorio\\quickref.txt";  //Aqui hay que poner el path al quickref que bajamos de cvs.php.net
$nuevophp_funcs = "c:\\windows\escritorio\\php-funcs.dat";  // Aqui se creara el nuevo php-funcs.dat
$lineas = file($quickrefdecvs);
 
$fp = fopen($nuevophp_funcs, "w");
$patronascii = "[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5];";  // esta es mi primera expresion regular que funciona bien (creo)
foreach( $lineas as $linea ) {
    $linea = trim($linea);
    $linea = substr($linea, 0, strpos($linea, " - "));
    if (ereg("&#(".$patronascii.");", $linea, $reg)) {
        $linea = str_replace($reg[0], chr(intval($reg[1])), $linea);
    }
    if (next($lineas)) {
        fputs($fp, $linea."\n");
    } else {
        fputs($fp, $linea);
    }
}
fclose($fp);
echo "<big>Tu $nuevophp_funcs ahora tiene <b>".count($lineas)."</b> funciones :-P</big>"; 
    
  [*] Reemplazar el archivo php-funcs.dat original por el que se acaba de crear.[/list=a]  
Para realizar el punto 
2 Maguma utiliza otro archivo llamado php-insight.dat (por defecto se encuentra en C:\Archivos de programa\Maguma Studio\Data\php-insight.dat) y en este caso lo actualizaremos a partir del manual oficial de PHP version 
single HTML en español. Para ello:[list=a][*] Bajar el manual de 
http://www.php.net/distributions/ma...ual_es.html.bz2 (esta comprimido con bz2 y si no sabes como abrirlo debes leer esto 
http://www.php.net/manual/en/faq.misc.php#faq.misc.bz2)[*] Aplicarle este codigo que parseará el HTML usando expresiones regulares y devolverá un nuevo php-insight.dat: 
 Código PHP:
    $manualphp = "C:\\windows\\escritorio\\php_manual_es.html"; //path al manual de php
$maguma_php_insight = "c:\\windows\\escritorio\\php-insight.dat"; // lugar donde se creara el nuevo php-insight.dat
 
$ini = time();
 
$fpm = fopen($manualphp, "r");
$lineas = fread($fpm, filesize($manualphp));
$lineas = str_replace("\n", "", $lineas);
 
$fpi = fopen($maguma_php_insight, "w");
 
$patron = '<H2>(Descripción|Description)</H2>([^<>]+)<(B CLASS|BCLASS)="methodname">([^<>]+)</B>([^<>]+)<';
$patronascii = "[0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5];";  // esta es mi primera expresion regular que funciona bien (creo)
while (ereg($patron, $lineas, $reg)){
    $a++;
    $lineas = strstr($lineas, $reg[0]);
    $lineas = substr($lineas, strlen($reg[0]));
    $nuevaslineas[trim($reg[4])] = trim($reg[5]);
    //echo nl2br("<b>$a: </b> $reg[2]<b>$reg[4]</b>$reg[5]\n");  //probar descomentar esta linea
    // if ($a >= 1000) break;                      // para test
}
 
uksort($nuevaslineas, 'strcasecmp');
foreach( $nuevaslineas as $clave => $valor ) {
    $linea = $clave.$valor;
    if (ereg("&#(".$patronascii.");", $linea, $reg)) {
        $linea = str_replace($reg[0], chr(intval($reg[1])), $linea);
    }
    if (next($nuevaslineas)) {
        fputs($fpi, $linea."\n");
    } else {
        fputs($fpi, $linea);
    }
}
$fin = time();
echo "<big>Despues de <b>";
echo date("i:s", $fin-$ini);
echo " minutos</b> se ordenaron y guardaron las $a referencias de funciones PHP en el archivo <b>$maguma_php_insight</b> !!</big>"; 
    
  Debemos tener presente que, debido a que se utilizan expresione regulares y el manual es "pesado" (5 Mb aprox.) el proceso para lograr el punto 2 puede toman alrededor de 
20 minutos con un procesador de 500Mhz.[*] Reemplazar el archivo php-insight.dat original por el que se acaba de crear.[/list=a]  
Explicaciones para las expresiones regulares utilizadas:
-  El que esta definido en $patronascii casa con cualquier numero que esta dentro del rango 0 a 255 pues hay 4 opciones (las opciones se diferencian con la barra vertical |) 
Cualquier numero del 0 al 99:
 Cualquier numero del 100 al 199:
 Cualquier numero del 200 al 249:
 Cualquier numero del 250 al 255:
   -  El que esta definido en $patron se utiliza especificamente para recorrer el Manual HTML de PHP, por lo que para interpretarlo basta con ver el codigo fuente del mismo y compararlo con la ER.
  
Una version actualizada del php-funcs.dat se puede bajar de: 
http://www.forosdelweb.com/attachment.php?postid=358063 
Una version actualizada del php-insight.dat se puede bajar de: 
http://www.forosdelweb.com/attachment.php?postid=373755 
Saludos!