Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Hurubnar en 31 Agosto 2011, 11:16 am



Título: [Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Publicado por: Hurubnar en 31 Agosto 2011, 11:16 am
Buenas:
Me es difícil exponer el problema, por lo que iré poco a poco.

-Tengo un TextBox que contiene textos diferentes cada vez que abro el Form.
-Ése texto siempre será un código HTML de un login.
-Lo que yo pretendo es buscar el action = "archivo.php" dentro de ese texto y reemplazar el archivo.php por procesador.php.

Pues bien, como el nombre del archivo PHP (en el ejemplo archivo.php) varía con cada nuevo código HTML, no se me ocurre otra cosa que buscar la palabra action en el TextBox y borrar lo que se encuentra entre las siguientes dos comillas de dicha palabra.

No tengo ni la menor idea de cómo se hace éso y le estaré tremendamente agradecido a quien me preste ayuda.

Un saludo
atte. Herio


Título: Re: [Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Publicado por: 79137913 en 31 Agosto 2011, 13:15 pm
HOLA!!!

Código
  1. Private Sub Form_Load()
  2.    PHP = "HOLA COMO ANDAS action = ""archivo.php"" BLA BLA BLA"
  3.   '^  la variable PHP contendria el codigo php
  4.    PHP2 = Replace(PHP, "action = ""archivo.php""", "action = ""procesador.php""")
  5.   '^  la variable PHP2 tendra el codigo php corregido_
  6.   ' se usa replace que reemplazara en una cadena un texto por otro texto.
  7. End Sub
  8.  

GRACIAS POR LEER!!!


Título: Re: [Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Publicado por: Hurubnar en 31 Agosto 2011, 13:33 pm
Buenas 79137913:
Gracias por tu rápida respuesta, pero resulta que "archivo.php" era un simple ejemplo. Es decir, al cargar códigos HTML en el TextBox, cada uno de estos códigos será diferente, por lo que yo no puedo buscar y reemplazar el nombre del archivo PHP si no se cómo se llama.

P.ej.: Cargo el formulario por primera vez y me aparece el código:
Citar
blablabla 90345u slñkfjsdf action = "altavoz.php" asldkfjs raikotslj 234 k

Pero cargo el formulario por segunda vez y me aparece otro código, p.ej.:
Citar
hhhhhhhhhhhh 3453 action = "reloj.php" elhacker.net 31 Agosto azul

No me habré explicado bien, pero lo que quiero cambiar es lo que está después de action entre comillas, sin saber lo que es, de manera que:
action = "reloj.php" quede action = "procesar.php" y que
action = "altavoz.php" quede action = "procesar.php"

Gracias de nuevo, espero que ahora también me puedas ayudar .)

Un saludo,
atte. h3rio


Título: Re: [Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Publicado por: 79137913 en 31 Agosto 2011, 13:59 pm
HOLA!!!

Ahh esta bien entonces mira asi:
(las variables inicio e inicio1 las podes obviar y colocarlas directo en la sentencia de igualacion de php2)
Código
  1. Private Sub Form_Load()
  2.    php = "HOLA COMO ANDAS action = ""archivo.php"" BLA BLA BLA"
  3.   '^  la variable PHP contendria el codigo php
  4.   inicio = InStr(php, "action = """) + Len("action = """) 'buscamos primer parte (action = ")
  5.   inicio2 = InStr(inicio, php, Chr(34)) 'Buscamos la siguiente comilla luego de ---^
  6.    php2 = Mid(php, 1, inicio - 1) & "procesador.php" & Mid(php, inicio2, Len(php) - inicio2 + 1)
  7.   '        ^cortamos php hasta inicio, ^agregamos procesador, ^cortamos la ultima parte de php
  8.   '^  la variable PHP2 tendra el codigo php corregido_
  9. End Sub

GRACIAS POR LEER!!!


Título: Re: [Duda] Buscar una palabra en un texto y reemplazar lo siguiente...
Publicado por: Hurubnar en 31 Agosto 2011, 19:40 pm
Comprendido, 79137913. ¡Mil gracias! Me funcionó a la primera...

Te lo agradezco enormemente... Por mucho que le daba vueltas no tengo conocimientos suficientes como para hacer algo así.

Un saludo,
atte. h3rio