Suppression de contenu en masse

Petit nouveau ! | 7 Messages

21 janv. 2015, 15:05

Bonjour,

Je souhaite supprimer du contenu présent dans plusieurs articles de mon site (plus de 2000 pages) et l'idéal serait une requête pour supprimer ce contenu en masse (Site sous wordpress).

Le contenu que je souhaite supprimer dans mes pages est une iframe.

Donc je souhaite trouver une requête pour effacer le contenu qui se trouve entre "<iframe" et "</iframe>" (y compris ces 2 balises).

Connaissez-vous une solution ?

Merci d'avance

Romuald

Mammouth du PHP | 688 Messages

21 janv. 2015, 15:36

le contenu entre <iframe> est toujours le même ?
si oui, une requete sql update avec la fonction replace et le tour est joué.

Petit nouveau ! | 7 Messages

21 janv. 2015, 15:41

Salut tof,

Le contenu est différent à chaque fois. Ce sont des vidéos youtube.

Mammouth du PHP | 688 Messages

21 janv. 2015, 15:54

quelque chose du genre, non testé :
update table set champ = concat(substring(champ, 0, INSTR(champ, '<iframe')), substring(champ, INSTR(champ, '</iframe>') + length('</iframe>')))

explications des fonctions ici :
http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html

Petit nouveau ! | 7 Messages

21 janv. 2015, 16:21

Merci pour ton aide.

Ça fonctionne MAIS :

- sur les articles où il y a l'iframe, ça supprime bien l'iframe mais ça supprime également tout le contenu avant l'iframe.

- sur les articles où il n'y a pas d'iframe, ça supprime les 16 premiers caractères de l'article.

Petit nouveau ! | 7 Messages

22 janv. 2015, 12:02

Je ne parviens pas à faire fonctionner au plus juste cette requête. Need some help !

Petit nouveau ! | 7 Messages

22 janv. 2015, 13:44

Je cherche du côté de substring-after et substring-before mais pour l'instant pas de solution.