Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/08/2009, 05:53
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: [APORTE] file_get_contents(), cURL, HTTP_Request

Para mostrar una página que incluye variables de cadena en la consulta, puedes hacer uso de http_build_query() para crear la cadena de consulta. Se acepta una serie de clave/valor en pares y devuelve una única cadena con todo escapado correctamente. Usted es responsable del simbolo de ? en el URL que establecen la consulta. Ejemplo con file_get_contents()
Código PHP:
Ver original
  1. <?php
  2. $vars = array('FDW' => 4, 'Programación' => 'PHP & f18');
  3. $qs = http_build_query($vars);
  4. $url = 'http://www.example.com/search.php?' . $qs;
  5. $page = file_get_contents($url);
  6. ?>

Ya hemos visto como obtener información de otros servidores. Si deseas manejar la informacion en vez de imprimirlo directamente en la pagina lo pasas a una variable y luego lo puedes manejar. Ejemplo de un codigo que desea mostrar en la pagina el resultado de las palabras que buscas pero que estén destacadas ("highlighted").

Código PHP:
Ver original
  1. $body = '<p>Me gusta mucho la programación de PHP.</p>
  2.  
  3. Deseas saber sobre programación de <a href="http://www.forosdelweb.com/f18">PHP</a>.
  4.  
  5. Yo deseo aprender sobre file_get_contents(), cURL y HTTP_Request.
  6.  
  7. <cURL>¡cURL no es una etiqueta de HTML!</cURL>';
  8.  
  9. $words = array('PHP','cURL');
  10. $replacements = array();
  11. foreach ($words as $i => $word) {
  12.     $replacements[] = "<span style='color: #ff0000;'>$word</span>";
  13. }
  14.  
  15. $parts = preg_split("{(<(?:\"[^\"]*\"|'[^']*'|[^'\">])*>)}",
  16.                     $body,
  17.                     -1,
  18.                     PREG_SPLIT_DELIM_CAPTURE);
  19. foreach ($parts as $i => $part) {
  20.     if (isset($part[0]) && ($part[0] == '<')) { continue; }
  21.     $parts[$i] = str_replace($words, $replacements, $part);
  22. }
  23.  
  24. $body = implode('',$parts);
  25.  
  26. print $body;
  27. ?>

$body representa el resultado que hayamos obtenido usando uno de los métodos que hemos usado. El resultado imprimira:

Código html:
Ver original
  1. <p>Me gusta mucho la programación de <span style='color: #ff0000;'>PHP</span>.</p>
  2.  
  3. Deseas saber sobre programación de <a href="http://www.forosdelweb.com/f18"><span style='color: #ff0000;'>PHP</span></a>.
  4.  
  5. Yo deseo aprender sobre file_get_contents(), <span style='color: #ff0000;'>cURL</span> y HTTP_Request.
  6.  
  7. <cURL>¡<span style='color: #ff0000;'>cURL</span> no es una etiqueta de HTML!</cURL>

Bueno esta abierto para los demas post

Creo que este último post debería ser otro aporte
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 31/05/2010 a las 04:26