Foros del Web » Programando para Internet » PHP »

como ponerle un If a este filtro

Estas en el tema de como ponerle un If a este filtro en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente codigo que es para filtrar el contenido de paginas web, para que solo me muestre lo que necesito ver Código ...
  #1 (permalink)  
Antiguo 05/02/2009, 08:53
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
como ponerle un If a este filtro

Hola amigos, tengo el siguiente codigo que es para filtrar el contenido de paginas web, para que solo me muestre lo que necesito ver

Código PHP:
<?
function Obtener_contenidos($url,$inicio='',$final){
$source = @file_get_contents($url)or die('se ha producido un error');
$posicion_inicio strpos($source$inicio) + strlen($inicio);
$posicion_final strpos($source$final) - $posicion_inicio;
$found_text substr($source$posicion_inicio$posicion_final);
return 
$inicio $found_text .$final;
}
$url $link1;
echo 
Obtener_contenidos($url,'<li>The data identified by the following URLs was then requested from the remote web server:</li>','<table cellpadding="0" cellspacing="0" style="width:100%"><tr><td width="100%" class="h3">&nbsp;</td></tr></table>');
?>
en $url hay que poner la direccion a la que se le tiene que sacar la parte del codigo que necesitamos
un ejemplo de direcciones serian:
[QUOTE]
http://www.thre.com/report.aspx?md5=e2a3a818be2fb
http://www.thre.com/report.aspx?md5=cd59b75f129016e0c
http://www.thre.com/report.aspx?md5=4c2
Código PHP:
echo Obtener_contenidos($url,'<li>The data identified by the following URLs was then requested from the remote web server:</li>','<table cellpadding="0" cellspacing="0" style="width:100%"><tr><td width="100%" class="h3">&nbsp;</td></tr></table>'); 
se pone el inicio y el final de la parte del codigo que se necesita.
Mi pregunta es la siguiente, en la primera y segunda direccion que puse arriba este codigo funciona a la perfeccion ya que presentan una estructura dentro del codigo identica a la que necesito para hacer el filtrado, pero la tercera direccion es diferente ya que no presenta las mismas estructura y el momento de hacer el filtrado me muestra todo el codigo ya que no puede filtrar nada; se podria poner algun if para el momento que no encuentre una estructura como la que deceo, no mostrase nada y solo mostrase cuando hay una estructura como la que deceo?

de antemano muchas gracias

Última edición por diego007007; 26/03/2009 a las 09:07
  #2 (permalink)  
Antiguo 26/03/2009, 09:18
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: como ponerle un If a este filtro

Hola amigos, tengo el siguiente codigo y necesito que me ayuden:
Código PHP:
$regExp1="/(http:[^ ]*)/i";
$file = ('$text');
preg_match_all($regExp1,$text,$a);
$count count($a[1]);
echo 
"<b>Guardado HTML</b> = " .$count."<p>";
for (
$row 0$row $count $row++){    
$dato $a[1]["$row"]."<br>";
echo 
$dato;

el cual trabaja bien filtrando direcciones por ejemplo
pero tengo el problema es que e encontrado direccciones en los textos que estan con comillas al final (") como es en este caso:
Cita:
http://www.yahoo.com"
http://www.google.com
y lo que necesito es que esas direcciones no se muestre, yo pense en poner un if dentro del for que seria mas o menos asi:
Código PHP:
if ($a[1]["$row"] == xxxx){
            echo 
"Direccion no valida";
              }else{
            echo 
$a[1][$row];
        } 
en donde xxxx seria la expresion regular que comprueba las comillas (") el problemas es que no se que poner, si aguien tiene alguna idea de como hacer, le agradeceria mucho.
  #3 (permalink)  
Antiguo 26/03/2009, 09:36
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: como ponerle un If a este filtro

e escrito lo siguiente, pero no funciona
Código PHP:
$regExp1="/(http:[^ ]*)/i";
$file = ('$text');
preg_match_all($regExp1,$text,$a);
$patron "/\"$/";
$count count($a[1]);
echo 
"<b>Guardado HTML</b> = " .$count."<p>";
for (
$row 0$row $count $row++){    
    if (
$a[1][$row] == $patron){
            echo 
"Direccion no valida";
              }else{
            echo 
$a[1][$row]."<br>";
        } 

Alguna idea
  #4 (permalink)  
Antiguo 26/03/2009, 09:48
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: como ponerle un If a este filtro

ya lo consegui de la siguiente forma
Código PHP:
$string $a[1][$row];
    if (
preg_match('/\"$/i'$string)) {
        echo 
"example <br>";
    }else{
        echo 
$string."<br>";
    } 
Salu2
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 20:43.