Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/09/2012, 12:35
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años
Puntos: 447
Respuesta: Como remplazar texto entre dos limitadores?

Hola lluriam19:

Tal como lo dice jurena, si siempre tienes la misma estructura podría servir SUBSTRING_INDEX... a mi se me ocurrió una forma más "genérica", pero que igual es más complicada... Creo que solo es cuestion de "jugar" con las distintas funciones para cadena que tiene MySQL... checa este script:

Código:
mysql> SELECT
    -> content,
    -> CONCAT(
    -> SUBSTRING(content, 1, INSTR(content, 'title="') + 6),
    -> SUBSTRING(
    -> SUBSTRING(content, INSTR(content, 'title="') + 7, LENGTH(content)),
    -> INSTR(SUBSTRING(content, INSTR(content, 'title="') + 7,
    -> LENGTH(content)), '"'), LENGTH(content))) eliminado
    -> FROM tabla;
+----------------------------------------------------+-------------------------------------------+
| content                                            | eliminado                 |
+----------------------------------------------------+-------------------------------------------+
| <img title="eliminarme" src="farm4.static.com" />  | <img title="" src="farm4.static.com" />   |
| <img src="www.forosdelweb.com" title="otra cosa"/> | <img src="www.forosdelweb.com" title=""/> |
| title="lo que sea"                                 | title=""                 |
+----------------------------------------------------+-------------------------------------------+
3 rows in set (0.00 sec)
La expresión es larga, pero en realidad no es compleja... la idea es la misma que la que indica jurena, "recortar" dos subcadenas, una desde el inicio hasta la primer comilla de title=" y otra a partir de la primer comilla que encuentre después de title="... igual y no es la forma más eficiente de hacerlo, pero creo que te puede servir.

Saludos
Leo