Foros del Web » Programando para Internet » PHP »

Busqueda por criterio fichero

Estas en el tema de Busqueda por criterio fichero en el foro de PHP en Foros del Web. hola a todos, Necesito alguna funcion que segun un criterio que yo le dé, comience a copiar apartir del criterio y que deje de copiar ...
  #1 (permalink)  
Antiguo 19/02/2012, 10:18
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Busqueda por criterio fichero

hola a todos,

Necesito alguna funcion que segun un criterio que yo le dé, comience a copiar apartir del criterio y que deje de copiar apartir del criterio 2

ejemplo:

mi nombre es alberto y mi descripcion fisica es:

soy alto con ojos marrones, pelo oscuro

Que seleccionase todo texto despues de los dos puntos (:) y que llegase hasta la coma, es decir sacaria:

soy alto con ojos marrones

Creo que con un ejemplo se ve mejor. Espero haberme explicado bien, un saludo y muchas gracias de antemano,
  #2 (permalink)  
Antiguo 19/02/2012, 10:39
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Busqueda por criterio fichero

preg_match_all

Más ayuda.
  #3 (permalink)  
Antiguo 19/02/2012, 11:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

gracias por tu respuesta,

Eso es demasiado general, he probado la funcion poniendo en pattern una cadena pero no me funciono.


<span id="internoizq">
<li><a href="ejemplo.php">Ejemplillo</a></li>

Por ejemplo en una pagina web me gustaria copiar la url (En este caso simplemente la cadena ejemplo.php). Aqui lo caracteristico seria internoizq que es lo que no se va a repetir en toda la pagina porque si pongo un . o una , me copiaria muchas mas cosas de la web, nose si me explico
  #4 (permalink)  
Antiguo 19/02/2012, 13:18
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Busqueda por criterio fichero

Para el ejemplo de arriba, tal vez strpos sirva:

Código PHP:
Ver original
  1. <?php
  2. $str = 'mi nombre es alberto y mi descripcion fisica es:
  3.  
  4. soy alto con ojos marrones, pelo oscuro';
  5.  
  6. $inicio = strpos($str, ':');
  7. $fin = strpos($str, ',');
  8.  
  9. for ($i = $inicio+1; $i<$fin; $i++) {
  10.     echo $str[$i];
  11. }

para el segundo ejemplo yo usaría las clases DOM. Un ejemplo muy básico pero se pueden lograr cosas bastante complejas:

Código PHP:
Ver original
  1. <?php
  2. $html = '<span id="internoizq">
  3. <li><a href="ejemplo.php">Ejemplillo</a></li>';
  4.  
  5. $doc = new DOMDocument();
  6. $doc->loadHTML($html);
  7. $a = $doc->getElementsByTagName('a');
  8. echo $a->item(0)->attributes->getNamedItem('href')->nodeValue;

http://php.net/manual/es/book.dom.php

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 22/02/2012, 11:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

El problema de eso es que solo me saca una etiqueta y el resto las ignora, la funcion es perfecta la verdad para lo que quiero.
  #6 (permalink)  
Antiguo 23/02/2012, 13:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

He estado mirando algunos atributos de esa funcion pero no saca todas las etiquetas de la pagina... El problema de todo esto es que no se como buscar algo que me sirva, en google por ejemplo el que es nuevo tambien le cuesta bastante encontrar algo pues ami me pasa con la programacion y esque no se por donde empezar, sabeis de algun tutorial o algo?? :S:S
  #7 (permalink)  
Antiguo 23/02/2012, 14:15
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Busqueda por criterio fichero

Esas clases sacan todo el contenido HTML que quieras de una página. Porqué no muestras que es lo que intentas sacar (con un ejemplo real) y buscamos una solución.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 23/02/2012, 15:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

hola,

Mil gracias andres por tu ayuda,

Pues es algo así como un robot que revisa una pagina dada, que obtiene unos enlaces de una pagina, en este caso es una especie de top con las paginas de mobiliarias mas visitadas,

Las paginas estan encerradas dentro del <div class='top'> y ahí estan todos los a href con las distintas paginas, entonces me gustaria copiar todos esos href y meterlos en una base de datos, el como copiarlos en la BD ya se hacerlo pero me falta guardar en una variable o algo los enlaces.

Si no me he explicado bien me decis,
  #9 (permalink)  
Antiguo 23/02/2012, 15:25
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Busqueda por criterio fichero

Sin conocer la estructura de la página es dificil darte una solución exacta, pero según como lo comentas, un ejemplo básico:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $html = '<!DOCTYPE html>
  4. <html>
  5. <head>
  6. <title>Titulo</title>
  7. </head>
  8. <body>
  9. <div id="contenido">
  10. <div class="top">
  11. <p><a href="http://link1">link 1</a>
  12. <a href="http://link2">link 2</a>
  13. <div><a href="http://link3">link 3</a></div>
  14. </div>
  15. </div>
  16. </body>
  17. </html>';
  18.  
  19. $doc = new DOMDocument();
  20. $doc->loadHTML($html);
  21. $xpath = new DOMXPath($doc);
  22. $enlaces = $xpath->query('//div[@class="top"]//a');
  23.  
  24. foreach ($enlaces as $l) {
  25.     echo $l->attributes->getNamedItem('href')->nodeValue . '<br />';
  26. }

Así sacas todos los href que estén dentro de un div con el atributo class=top
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 23/02/2012, 17:01
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

Paso la pagina web a una string mediante la funcion file_get_contents('');

y estos son los errores que me genera:



( ! ) Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag : a in Entity, line: 50 in C:\wamp\www\curl\prueba_curl.php on line 19
Call Stack
# Time Memory Function Location
1 0.0003 672848 {main}( ) ..\prueba_curl.php:0
2 0.4595 719728 DOMDocument->loadHTML( ) ..\prueba_curl.php:19

( ! ) Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Attribute target redefined in Entity, line: 164 in C:\wamp\www\curl\prueba_curl.php on line 19
Call Stack
# Time Memory Function Location
1 0.0003 672848 {main}( ) ..\prueba_curl.php:0
2 0.4595 719728 DOMDocument->loadHTML( ) ..\prueba_curl.php:19

( ! ) Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: error parsing attribute name in Entity, line: 197 in C:\wamp\www\curl\prueba_curl.php on line 19
Call Stack
# Time Memory Function Location
1 0.0003 672848 {main}( ) ..\prueba_curl.php:0
2 0.4595 719728 DOMDocument->loadHTML( ) ..\prueba_curl.php:19

( ! ) Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: error parsing attribute name in Entity, line: 300 in C:\wamp\www\curl\prueba_curl.php on line 19
Call Stack
# Time Memory Function Location
1 0.0003 672848 {main}( ) ..\prueba_curl.php:0
2 0.4595 719728 DOMDocument->loadHTML( ) ..\prueba_curl.php:19

En la linea 19 lo que hay es el load html

$doc->loadHTML();
  #11 (permalink)  
Antiguo 23/02/2012, 17:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Busqueda por criterio fichero

Intenta agregando esta línea:


antes de cargar el HTML.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 23/02/2012, 17:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Busqueda por criterio fichero

Es impresionante tiooooooooooo muchisimas gracias por tu ayudaaa de verdad me has ayudado un monton,

Me gustaria muchisimo que me dijeras mas o menos como has buscado en que pagina y como lo has hecho para asi en futuro poderlo buscar yo solo, si hay algun tutorial o algo agradeceria que me lo dijeras. De verdad muchas gracias

Etiquetas: fichero, busquedas
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:17.