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<?php
$vars = array('FDW' => 4, 'Programación' => 'PHP & f18'); $url = 'http://www.example.com/search.php?' . $qs;
?>
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$body = '<p>Me gusta mucho la programación de PHP.</p>
Deseas saber sobre programación de <a href="http://www.forosdelweb.com/f18">PHP</a>.
Yo deseo aprender sobre file_get_contents(), cURL y HTTP_Request.
<cURL>¡cURL no es una etiqueta de HTML!</cURL>';
$words = array('PHP','cURL'); foreach ($words as $i => $word) {
$replacements[] = "<span style='color: #ff0000;'>$word</span>";
}
$parts = preg_split("{(<(?:\"[^\"]*\"|'[^']*'|[^'\">])*>)}", $body,
-1,
PREG_SPLIT_DELIM_CAPTURE);
foreach ($parts as $i => $part) {
if (isset($part[0]) && ($part[0] == '<')) { continue; } $parts[$i] = str_replace($words, $replacements, $part); }
print $body;
?>
$body representa el resultado que hayamos obtenido usando uno de los métodos que hemos usado. El resultado imprimira:
Código html:
Ver original<p>Me gusta mucho la programaci
ón de
<span style='color: #ff0000;'>PHP
</span>.
</p>
Deseas saber sobre programaci
ón de
<a href="http://www.forosdelweb.com/f18"><span style='color: #ff0000;'>PHP
</span></a>.
Yo deseo aprender sobre file_get_contents(),
<span style='color: #ff0000;'>cURL
</span> y HTTP_Request.
<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