Bueno, que no es un buen título para un puesto que conozco, pero eso es lo que tengo.
Esta vez, después de ver un post en (http://www.aboutflex.net) en caso de que el autor había una clase de AIR (http://www.aboutflex.net/flex/flex-class-that-asks-google por sugerencias /) que trabajaron con el motor de búsqueda de google, sugerencias para las palabras y sugerencias a google, como me ha parecido muy interesante decidió entonces tratar de pasar por la restricción de la caja de arena Flash, que no permite el acceso al contenido de otros sitios que no el propio servidor (sólo posible con una crossdomain.xml, que Google no le gusta), que se tradujo en un muy sencillo script (en su final, que las pruebas eran muchas) que permite servir como una puerta de acceso a este servicio de Google.
Mira en el simple código:
" http://www.google.com " ; $ Host = "http://www.google.com";
$_GET [ ' q ' ] ; $ Texto = $ _GET [ 'q'];
$_GET [ ' cp ' ] ; $ Len = $ _GET [ 'cp'];
str_replace ( " $ Texto = str_replace ( " " %20 " , $text ) ; ","% 20 ", $ texto);
" /complete/search?hl=en&client=suggest&js=true&q= " . $text . " &cp= " . $len ; $ Instrucción = "/ complete / search? Hl = es & client = sugerir y js = & q = true." $ Texto. "Cp =". $ Len;
$host . $instruction ; $ Url = $ host. $ Instrucción;
si ) phpversion () >= 4.2 ) ((Doble) phpversion ()> = 4.2)
(
' allow_url_fopen ' , ' 1 ' ) ; ini_set ( 'allow_url_fopen','1 ');
)
file_get_contents ( $url ) ; $ S = @ file_get_contents ($ url);
si )) (Empty ($ s))
(
echo "";
)
algo más
(
echo $ S;
)
?>
Simple ¿no?
El nivel de Flex, obtener las sugerencias de clase sólo con el texto siguiente:
* Http: / / www.aboutflex.net/flex/flex-class-that-asks-google-for-suggestions/
*
* PT: Aplicación de la clase de sugerencias para google AIR
* Http: / / www.aboutflex.net/flex/flex-class-that-asks-google-for-suggestions/
*
* Http: / / www.msdevstudio.com
*
* El send.php podría ser colocado en el mismo camino de la principal. Archivo swf
* * /
paquete msdevstudio com. msdevstudio
(
importación display . Sprite ; flash. pantalla. Sprite;
importación events . Event ; flash. acontecimientos. evento;
importación events . EventDispatcher ; flash. acontecimientos. EventDispatcher;
importación collections . ArrayCollection ; mx. colecciones. ArrayCollection;
importación rpc . events . ResultEvent ; mx. rpc. acontecimientos. ResultEvent;
importación rpc . http . HTTPService ; mx. rpc. http. HTTPService;
( name = " suggested " , type = " flash.events.Event " )] [Event (name = "sugirió", type = "flash.events.Event")]
público clase gsug se extiende Sprite
(
público const String = ' suggested ' Sugerencias: String = 'sugirió'
privado var ArrayCollection = new _dataProvider: ArrayCollection = new ; ArrayCollection ();
público función gsug ()
(
)
público función string : String ) : void { findSuggests (cadena: String): void (
var HTTPService = new pm: = new HTTPService ; HTTPService ();
/ * Utilizar nuestro servidor de secuencias de comandos de send.php para obtener sugerencias * /
url = " send.php?q= " + string + " &cp= " + string . length ; horas. url = "send.php? q =" + + cadena "cp =" + cadena. longitud;
addEventListener ( ResultEvent . RESULT , parseResults ) horas. addEventListener (ResultEvent. resultado, parseResults)
send () horas. enviar ()
)
protegidas función e : ResultEvent ) : void { parseResults (e: ResultEvent): void (
var Array = e . result . split ( ' new Array ' )[ 1 ] . split ( ' , " ' ) ; tmp: Array = e. resultado. Split ( "new Array") [1]. split ('');
new _dataProvider = new ; ArrayCollection ();
es (Var int = 1 ; i < tmp . length - 1 ; i += 2 ){ i: int = 1; i <tmp. longitud - 1; i + = 2) (
i ] = tmp [ i ] . replace ( ' " ' , "" ) ; tmp [i] = tmp [i]. reemplazar ('', "");
i ] = tmp [ i ] . replace ( ' \\ x27 ' , " ' " ) ; tmp [i] = tmp [i]. reemplazar ( '\ \ x27', " '");
addItem ( tmp [ i ]) ; _dataProvider. AddItem (tmp [i]);
)
dispatchEvent (nuevo ' suggested ' )) ; Evento ( 'sugirió'));
)
público función obtener : ArrayCollection { DataProvider (): ArrayCollection (
volver _dataProvider;
)
)
)
Pueden ver el ejemplo de trabajar aquí con código fuente disponible
Para su uso en aplicaciones de simplemente sustituir el aire:
hs.url = "send.php? q =" + + cadena "cp =" + string.length;
por:
hs.url = "http://www.google.com/complete/search?hl=en&client=suggest&js=true&q =" cadena + + "cp =" + string.length;
Tal vez es útil en algunas aplicaciones!
Abrazar.










3 Comentarios
Hola Mario,
PHP usando el puente es una gran idea!
Voy a usarlo para mi siguiente ejemplo!
Hola,
Como ya he dicho, he escrito una pequeña aplicación que utiliza el puente y el componente de Adobe Autocompletar;
este es el enlace
Déjame saber ¿cuál es su impresión de
¡Salud!,
Fedele
Hola, i te dejó un comentario, pero repito, ahora lo que realmente parece ser muy profesional y útil componente!
¡Salud!!