Foros del Web » Programando para Internet » PHP »

Trabajar con datos de otra página

Estas en el tema de Trabajar con datos de otra página en el foro de PHP en Foros del Web. Wenas, no sabía si poner un post nuevo o continuar con el primer post que pregunté. Si la elección no ha sido la correcta, sorry ...
  #1 (permalink)  
Antiguo 03/07/2003, 17:09
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 9 meses
Puntos: 0
Trabajar con datos de otra página

Wenas, no sabía si poner un post nuevo o continuar con el primer post que pregunté. Si la elección no ha sido la correcta, sorry :P

Manolo web me proporcionó este script:

function buscando($buscado,$cadena)
{
$buscar[0]=strtoupper($buscado);
$buscar[1]=strtolower($buscado);
$buscar[2]=ucfirst($buscar[1]);
//$patron="/(<[h|H]1[A-Za-z0-9 \"=]*>)(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2].")(.*)(</[h|H]1>)/";
$busqueda=preg_match_all("/(<[h|H]1[A-Za-z0-9 \"=]*>)(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2].")(.*)(<\/[h|H]1>)/",$cadena,$salida);
$resultado['cuantos']=count($salida[0]);
foreach ($salida[0] as $valor)
{
$resultado["textos"][]=$valor;
}
return $resultado;
}
/* Aqui empieza tu codigo */
$cadena = $string;
$buscado = $criterio;

// AHORA LLAMAMOS A LA FUNCION
$prueba=buscando($buscado, $cadena);

// Ahora vamos a ver los resultados

echo "La palabra clave aparece ".$prueba['cuantos']." veces en el encabezado.<br>\n";
echo "Estas fueron las Coincidencias: <br>\n";
echo "<UL>\n";
foreach ($prueba["textos"] as $p)
{
echo "<LI>".htmlspecialchars($p)."</LI>\n";
}
echo "\n";

Muestra los encabezados (h1) de una página que contenga el criterio que le indico.

Criterio es el criterio, metido por un form.
String es el imple de la url de la página, tb metida por form.

Muestra la cantidad de enlaces que contienen el criterio y los criterios en sí. No quiero que los encabezados aparezcan en esta página, sino que salga un enlace "click aqui para ver los encabezados" y al clickar se abra una página con los contenidos.

He probado metiendo en esta pagina:

function array_envia($array) {

$tmp = serialize($array);
$tmp = urlencode($tmp);

return $tmp;
}

$array=array($url, $criterio);
$array=array_envia($array);

// Usando un link (URL).
echo "<a href=\"recibir_array.php?array=$array\" target='_blank'>pasar array</a>";

Y en recibir array.php

<?
function array_recibe($url_array) {
$tmp = stripslashes($url_array);
$tmp = urldecode($tmp);
$tmp = unserialize($tmp);

return $tmp;
}


$array=$_GET['array'];
// el método de envio usado. (en el ejemplo un link genera un GET. En el formulario se usa POST podria ser GET tambien ...)

$array=array_recibe($array);
?>


Como le digo que me muestre en recibir_array los encabezados?

es decir:

foreach ($prueba["textos"] as $p)
{
echo "<LI>".htmlspecialchars($p)."</LI>\n";
}
echo "\n";




Espero haberme explicado bien(aunque lo dudo). :(

Un saludo.
  #2 (permalink)  
Antiguo 04/07/2003, 05:20
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 9 meses
Puntos: 0
eo
  #3 (permalink)  
Antiguo 04/07/2003, 15:01
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Bueno, creo que no entiendo que es lo que quieres hacer...

Ponlo un poco más ordenado...

1.- El script que te mandé, donde lo pones? en que pagina?

2.- Donde se verán los links? a donde te llevarán?

3.- Que es lo que quieres mostrar en esa pagina?

4.- Donde guardas el array que genera los resultados de los headers?

5.- Para que, y donde usas el array_envia() y array_recibe()?
__________________
Manoloweb
  #4 (permalink)  
Antiguo 04/07/2003, 15:38
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 9 meses
Puntos: 0
Gracias por responder Manoloweb.

Mira el script que me mandastes está por ejemplo en script.php

El primero que me mandates te mostraba la cantidad de encabezadso que contenían el criterio y dichos encabezados.

Bien, lo que quiero es que aparezca:

Cantidad de encabezados: 2 (por ejemplo)
click aqui para ver dichos encabezados

Y al clickar"click aqui para ver dichos encabezados" que se abra una nueva venta con los encabezados. Mostraba los encabezados con el foreach.

El resto del post anterior era la manera en la que lo he intentado hacer pero no funciona.

Como puedo hacerlo?

Un saludo.
  #5 (permalink)  
Antiguo 05/07/2003, 10:11
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Y que tal si metes los resultados en campos tipo hidden, y en un formulario, para que al dar click en el boton de submit se pasen los resultados??

Código PHP:
echo "La palabra clave aparece ".$prueba['cuantos']." veces en el encabezado.<br>\n";
echo 
"Estas fueron las Coincidencias: <br>\n";
echo 
"<form name=\"encab\" method=\"post\" action=\"ver.php\">\n";
foreach (
$prueba["textos"] as $p)
{
echo 
"<input type=\"hidden\" name=\"resultado[]\" 
value=\""
.htmlspecialchars($p)."\">\n";
}
echo 
"<input type=\"submit\" name=\"enviar\" value=\"Ver encabezados\">\n";
echo 
"</form>\n";

// Y luego en ver.php...

foreach ($_POST["resultado"] as $encab){
echo 
$encab."<br>\n";

O algo así...
__________________
Manoloweb
  #6 (permalink)  
Antiguo 05/07/2003, 15:22
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 9 meses
Puntos: 0
Lo había probado de una manera parecida pero no acertaba a meter

foreach ($prueba["textos"] as $p)
{
echo "<input type=\"hidden\" name=\"resultado[]\"
value=\"".htmlspecialchars($p)."\">\n";
}

Cogiendo el codigo que me das tal cual funciona.

Muchas gracias de nuevo Manoloweb.

Un saludo.
  #7 (permalink)  
Antiguo 05/07/2003, 16:41
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
__________________
Manoloweb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.