Foros del Web » Programando para Internet » PHP »

ficheros y php

Estas en el tema de ficheros y php en el foro de PHP en Foros del Web. Hola a todos, estoy haciendo un programa que copia una parte de una pagina web a traves de ficheros y necesito una vez que el ...
  #1 (permalink)  
Antiguo 18/02/2010, 10:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
ficheros y php

Hola a todos, estoy haciendo un programa que copia una parte de una pagina web a traves de ficheros y necesito una vez que el fgetc pilla un "<" me mire los 2 caracteres siguientes para ver si los 3 caracteres juntos son "<p>". Y no se como se mueve un caracter adelante con los ficheros lo estoy haciendo con fseek pero no se en donde estoy fallando, solo me coge "<". Os paso el codigo a ver si veis donde fallo. GRACIAS.

<?php
$i=0;
$z="";
$f1=fopen("http://www.comfia.info/noticias/55088.html","r");
while (!feof($f1)) {
$a=fgetc($f1);
if ($a=="<"){
$j=ftell($f1);
$z.=$a;
fseek($f1,$j+1);
$a=fgetc($f1);
if($a=="p"){
$z.=$a;
$j=ftell($f1);
fseek($f1, $j+1);
$a=fgetc($f1);
if($a==">"){
$z.=$a;

}
}
echo $z;

}
}
fclose($f1);
?>
  #2 (permalink)  
Antiguo 18/02/2010, 12:02
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: ficheros y php

hola

cuando haces esto $a=fgetc($f1); capturas una lina en la variable $a esta la puedes recorrer caracter a caracter de la siguiente manera:

Ej.
$a="Lair"

$a{0} => L
$a{1} => a
$a{2} => i
$a{3} => r

suerte espero que te sirva
  #3 (permalink)  
Antiguo 19/02/2010, 09:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ficheros y php

Nada sigo igual. Lo que yo quiero hacer es por ejemplo cuento en el codigo 3 <p> y a partir de ahi copie todo lo que hay hasta por ejemplo el 16 </p>. GRACIAS.
  #4 (permalink)  
Antiguo 19/02/2010, 09:46
 
Fecha de Ingreso: enero-2009
Ubicación: Salta
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: ficheros y php

Hola limbo992:
La mejor opción es Usar expresiones regulares:
Código HTML:
<p> no se extrae esto</p>
<p id="extraer"> todo el contenido que se desea extraer, que puede ir dentro <br />

de una etiqueta párrafo </p>

<p id="dos"> contenido que tampoco se se extrae y otros</p> 
Código PHP:
//en particular yo usaría
$ahtmlentities(file_get_contents('http://www.comfia.info/noticias/55088.html'));

if (
preg_match('/<p id="extraer">(.*)<\/p>/',$a,$variables)){
    
//print_r($variables);
    
echo $variables[0]; //<p id="extraer">todo el contenido que se desea extraer, que puede ir dentro <br /> de una etiqueta párrafo  </p>
    
echo $variables[1]; //todo el contenido que se desea extraer, que puede ir dentro <br /> de una etiqueta párrafo 

Para que la expresión también extraiga saltos de linea se puede cambiar:
Código PHP:
 '(.*?)'
//por
'([\x00-\x7F]*?)' 
espero que te sirva,

saludos!!

Última edición por GatorV; 19/02/2010 a las 10:22

Etiquetas: ficheros
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 13:26.