Developers developers developers
Developers developers developers
Buenas, estoy haciendo unas tonterias que se me han ocurrido en php y quería saber vuestra opinión sobre una parte.
Estoy obteniendo con php el fuente de cualquier página, y luego quiero sacar de ese fuente todos los enlaces, por ejemplo. El fuente ya lo tengo, pero lo que es la búsqueda es lo que me lleva loco, porque lo estoy haciendo con strpos, substr y demás, y me parece que es muy bestia porque cada una de esas funciones recorren el string del fuente.
Estoy obteniendo con php el fuente de cualquier página, y luego quiero sacar de ese fuente todos los enlaces, por ejemplo. El fuente ya lo tengo, pero lo que es la búsqueda es lo que me lleva loco, porque lo estoy haciendo con strpos, substr y demás, y me parece que es muy bestia porque cada una de esas funciones recorren el string del fuente.
Re: Developers developers developers
Pues no se me ocurre muy bien que otra cosa puedes hacer, al menos asi de primeras no se me ocurre otra funcion ni otra forma que no sea recorrerse a palo todo el archivo.
Supongo que lo que haras es, con el fuente en la mano, coges cada linea (con un fgets o similar, el string resultante lo pasas por un substr replace y lo metes en el archivo de salida.
Vamos, que no se me ocurre otra forma.
Supongo que lo que haras es, con el fuente en la mano, coges cada linea (con un fgets o similar, el string resultante lo pasas por un substr replace y lo metes en el archivo de salida.
Vamos, que no se me ocurre otra forma.
- Gandalfini
- Mulá
- Mensajes: 1009
- Registrado: 24 Dic 2008 18:12
- Ubicación: Un autocine.
Re: Developers developers developers
No tengo ni puñetera idea de php pero si lo que te preocupa es la complejidad, en lugar de usar una función que recorra el archivo ella solita ¿por qué no te programas tú la comprobación en un bucle que recorra una única vez el archivo? Vamos, supongo que lo que harán esas funciones serán identificar una etiqueta que indica que viene lo que estás buscando. No parece muy difícil programar eso. Claro, que no sé si en php se puede hacer, ya digo que ni idea.
Tampoco sé qué repercusión tiene a nivel de programación web el que una complejidad aumente de uno a tres mientras siga siendo lineal. No creo que un archivo fuente sea tan tocho como para que eso pueda preocupar, pero oye, no sé.
Tampoco sé qué repercusión tiene a nivel de programación web el que una complejidad aumente de uno a tres mientras siga siendo lineal. No creo que un archivo fuente sea tan tocho como para que eso pueda preocupar, pero oye, no sé.
Re: Developers developers developers
Yo me dejaría de líos y usaría esta función, o si quieres hacerlo complicado de narices ahí tienes enlaces para aplicarla con exprresiones regulares.
Si como dice el mago blanco te preocupa la complejidad pues no se cual será internamente, pero apuesto por una lineal dada la descripción de la función, se recorre el string internamente tantas veces como sustituciones halla o eso entiendo.
Por cierto, ¿alguien sabe que pasó con la documentación en español de php? De repente desapareció un día, teniendo la inglesa no la necesito, pero me llama la atención que se mantenga la turca o la búlgara y no la española.
Si como dice el mago blanco te preocupa la complejidad pues no se cual será internamente, pero apuesto por una lineal dada la descripción de la función, se recorre el string internamente tantas veces como sustituciones halla o eso entiendo.
Por cierto, ¿alguien sabe que pasó con la documentación en español de php? De repente desapareció un día, teniendo la inglesa no la necesito, pero me llama la atención que se mantenga la turca o la búlgara y no la española.
Re: Developers developers developers
No lo he terminado, pero según mi lógica las funciones substr y strpos usadas como lo estoy haciendo suman O(n). Haber si cuando lo termine lo pongo por aquí por si a alguien le hace falta.
Lo mismo digo rian, yo hace una año que no estaba con php así que no se que decirte del manual.
Lo mismo digo rian, yo hace una año que no estaba con php así que no se que decirte del manual.
Re: Developers developers developers
¿Alguien sabe lo que significa en C el warning "declaración implicita de la función..."?
Re: Developers developers developers
Puede ser que no hayas declarado la función antes de usarla.
Re: Developers developers developers
Es la función char * get_current_dir_name(void) que pertenece a las bibliotecas de C.
La he definido arriba del todo #define __USER_GNU y dice lo mismo. ¿Me suicido?
get_current_dir_name, cuyo prototipo sólo existe si está definida la
macro __USE_GNU
La he definido arriba del todo #define __USER_GNU y dice lo mismo. ¿Me suicido?
- Jordison
- Ulema
- Mensajes: 15291
- Registrado: 20 Dic 2003 11:43
- Ubicación: En situación de desaceleración económica desfavorable.
Re: Developers developers developers
http://ubuntuforums.org/showthread.php?t=544185
Ahí sugieren que uses getcwd en vez de esa función, mira a ver.
Ahí sugieren que uses getcwd en vez de esa función, mira a ver.
Re: Developers developers developers
Gracias Jordi, con esa no me da ningún warning.