Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2003, 11:08
yamakasiz
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 2 meses
Puntos: 0
Foreach para busqueda en cadena

Tengo este codigo:

$string = implode ('', file ($url));

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 "Cantidad de Coincidencias: ".$prueba['cuantos']."<br>\n";
echo "Estas fueron las Coincidencias: <br>\n";
foreach ($prueba["textos"] as $p){
echo "<LI>".htmlspecialchars($p)."</LI>\n";
}

echo "<br>";


Bien, con estos busca en los encabezados de una pagina que contengan el criterio que le indico desde un form. Ahora quiero que me busque el criterio en los title de los enlaces:

<a href="lokesea.hrm" title="aqui es donde quiero buscar"></a>

$busqueda=preg_match_all("/(<[title|TITLE]=[A-Za-z0-9 \"=]*>)(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2].")(.*)(<\/["]1>)/",$cadena,$salida);

No sé como hacerlo :( .

Debería buscar en title="...."

Alguien tiene alguna idea?


Y para que me busque en el titulo de una página no sería :

$busqueda=preg_match_all("/(<[title|TITLE]>)(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2]."|".$buscar[3]."|".$buscar[4].")(.*)(<\/[title|TITLE]>)/",$string,$salida);$resultado['cuantos']=count($salida[0]);

Esto ultimo lo puedo hacer con:
$veces_title=substr_count("$meta[title]", "$criterio");


Pero, claro, diferencia entre mayusculas y minusculas :(

Me hechais un cable?