[Duda] Buscar una palabra en un texto y reemplazar lo siguiente...

Iniciado por Hurubnar, 31 Agosto 2011, 11:16 AM

0 Miembros y 1 Visitante están viendo este tema.

Hurubnar

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

79137913

HOLA!!!

Código (vb) [Seleccionar]
Private Sub Form_Load()
   PHP = "HOLA COMO ANDAS action = ""archivo.php"" BLA BLA BLA"
  '^  la variable PHP contendria el codigo php
   PHP2 = Replace(PHP, "action = ""archivo.php""", "action = ""procesador.php""")
  '^  la variable PHP2 tendra el codigo php corregido_
  ' se usa replace que reemplazara en una cadena un texto por otro texto.
End Sub


GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Hurubnar

#2
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:
Citarblablabla 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.:
Citarhhhhhhhhhhhh 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

79137913

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 (vb) [Seleccionar]
Private Sub Form_Load()
   php = "HOLA COMO ANDAS action = ""archivo.php"" BLA BLA BLA"
  '^  la variable PHP contendria el codigo php
  inicio = InStr(php, "action = """) + Len("action = """) 'buscamos primer parte (action = ")
  inicio2 = InStr(inicio, php, Chr(34)) 'Buscamos la siguiente comilla luego de ---^
   php2 = Mid(php, 1, inicio - 1) & "procesador.php" & Mid(php, inicio2, Len(php) - inicio2 + 1)
  '        ^cortamos php hasta inicio, ^agregamos procesador, ^cortamos la ultima parte de php
  '^  la variable PHP2 tendra el codigo php corregido_
End Sub


GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Hurubnar

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