Código PHP:
preg_match_all("(\">(.*)</a> (<span class=\")siU", $web2, $titulos_busq);
gracias
| |||
problema con parentesis Buenas, estoy intentando hacer un preg_match_all() , pero he de utilizar un parentesis para orientar a la funcion en la busqueda Código PHP: gracias Última edición por Doch; 07/08/2013 a las 12:42 |
| |||
Respuesta: problema con parentesis con palabras faciles, el parentesis "(" que esta a la izquierda del span en el codigo que puse, quiero que sea tomado como un texto y no como un parentesis que abre alguna cosa dentro de la funcion o lo que sea, espero haberme explicado jaja gracias por responder Última edición por Doch; 07/08/2013 a las 18:32 |
| ||||
Respuesta: problema con parentesis Ese es precisamente tu problema, debes escapar el paréntesis. Cita: Y sí, tiene que ver con RegExp (expresiones regulares), te sugiero leer lo siguiente: http://php.net/manual/es/book.pcre.php\(<span Sobre todo la sintaxis que es lo que te falla, porque RegExp se trata de otro lenguaje, un sub lenguaje que se incluye en la mayoría de lenguajes modernos, incluyendo PHP.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: problema con parentesis ya probe en añadirle la barra invertida, pero no funcionó por eso puse el post, he estado leyendo sobre regex, y estoy intentando hacer una expresion que busque Cita: pero me esta costando bastante, porque no hay una explicacion decente de como hacer las expresiones, o al menos no la he encontrado \">(.*)</a> (<span class=\" |
| ||||
Respuesta: problema con parentesis En lugar de dar dando golpeas a ciegas, ¿por qué no nos muestras el código HTML de prueba? Vamos, llevo varios años usando RegExp y lo que te digo de escapar debe funcionar, si no funciona no es ningún misterio de la expresión en si, sino que puede deberse a que la fuente de texto sencillamente no está bien cubierta. A lo que me refiero es que RegExp no es tán inteligente, sólo buscará lo que le indiques con la expresión. Si la fuente de texto original tiene espacios de más, o no siempre es la misma tu debes estár consciente de eso y definir una expresión más flexible. Pero bueno, sin ver la fuente real del texto es imposible adivinar que estará mal.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: problema con parentesis Código HTML: <a href="/trucos/iphone/blastron/21736" title="Trucos de Blastron para iPhone">Blastron</a> (<span class="color53">iPhone</span>)</div>
Código:
preg_match_all("(\">(.*)</a> (<span class=\"color)", $web1, $titulos_busq); pd: ya me he asegurado que el codigo en azul solo se repite en el codigo html que he puesto, es decir que la funcion no deberia de coger el resto de la web |
| ||||
Respuesta: problema con parentesis Vale, ahora medio entiendo. Acabo de probar tu expresión y me funciona excelente con dicho HTML, lo único que cambiaría es .* por [\w\s]+ para ser más claro. Eso se debe a que .* significa "cualquier cosa" y siendo una expresión abierta puede capturar más allá de lo que tenías pensando, por eso tal vez no te funciona bien. Entonces [\w\s]+ significa "cualquier palabra y/o espacios", lo cual limita la búsqueda claramente, pues es explícita. Puede que esa sea la única razón además de que sigues sin escapar el paréntesis.
Código PHP:
Ver original Te sugiero consultar la referencia que te alcance anteriormente, esto se debe a que de todas las veces que te he dicho que escapes el paréntesis parece que no lo has hecho. Y hay importantes observaciones al respecto del tipo de delimitadores que estás usando, pues los paréntesis son carácteres especiales, etc. No pienso abordar esto aquí así que de verdad espero que leas la referencia.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: problema con parentesis realmente si que escape el parentesis, asi era como me cogia toda la web, si no daria un fallo al ejecutar el archivo, lo que se me ha escapado al pasarlo a la web jaja con el [\w\s]+ ahora va bastante bien, hay un pequeño fallo de que los resultados me salen con un parentesis al final ej: ">Blastron ( aunque lo puedo eliminar con un str_replace muchas gracias por tu ayuda pateketrueke |
Etiquetas: |