Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/09/2012, 04:41
lluriam19
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Como remplazar texto entre dos limitadores?

Cita:
Iniciado por leonardo_josue Ver Mensaje
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

Lo que dice jurena es cierto, no he aclarado la cantidad de titles que parece dentro del campo "content" de cada registro, por lo cual puedo decir que varían desde un title hasta 5 dentro del mismo campo en distintas posiciones, mas abajo muestro un ejemplo.

He aplicado la idea de jurena y la tuya leonardo_josue y obtengo casi el mismo resultado, el cual es que modifica el primer title del contenido pero si hay otros los deja intactos y pues el objetivo es que sean todos los titles del campo "content" de cada registro los que sean modificados.

Aquí les dejo el resultado que obtuve en el campo "content" de uno de los registros:
Código:
<img class="alignleft" title="" src="http://farm5.static.flickr.com/4036/5143881636_ec358cf6c2_m.jpg" alt=" - EVE " width="195" height="113" />Cuando la humanidad blabla blabla<p style="text-align: center;"><img class="alignnone" title=" - Eve " src="http://farm8.staticflickr.com/7045/7021552497_e4627d4b58.jpg" alt=" - Eve " width="500" height="313" /></p>
Ésta es la historia de EVE bla,bla,bla…….
<p style="text-align: center;"><img class="alignnone" title=" - Eve " src="http://farm8.staticflickr.com/7218/6875448752_dd61c68ec0.jpg" alt=" - Eve " width="500" height="313" /></p>
Antes de comenzar ..bla,bla,bla
Esta estructura la contiene el campo "content" en casi todos los registros.

Un Saludo