un Regexp dans un Update

Écrit par: papoo dans la catégorie: Wordpress

Depuis quelques temps déjà je cherchais le moyen de modifier 141 messages de ce blog directement via une requete MYSQL.

En effet je m’étais aperçu que tous ces messages comportaient une balise dont je ne me servais plus, héritage (je crois) du blog sous dotclear. Seul problème cette balise comporte des données entre son ouverture et ça fermeture du genre

<span style= »font-weight: bold; »>données</span>

alors que je souhaiterais corrriger avec la balise STRONG histoire de faire simple

<STRONG>données</STRONG>


Seul « petit » problème, les requêtes UPDATES de MySQL n’acceptent pas les expressions régulières, c’est pas moi qui le dis, c’est ce que j’ai lu un peu partout sur la toile.
Du coup comment faire un « rechercher »/ »remplacer » dans ces conditions?
après moult recherches et essais (et conneries) directement sur la base j’ai enfin trouvé la solution.
j’ai réussi en deux étapes
la première

UPDATE `wp_posts`
SET `post_content` = TRIM(REPLACE(`post_content`, ‘<span class=\"dot_code\" dir=\"ltr\">’, ‘<span>’))
WHERE `post_content` REGEXP BINARY ‘(<span class=\"dot_code\" dir=\"ltr\">)’;

la Deuxième

UPDATE `wp_posts`
SET `post_content` = TRIM(REPLACE(`post_content`, ‘</span>’, ‘</strong>’))
WHERE `post_content` REGEXP BINARY ‘(<span style=\"font-weight: bold;\">)(.*)(</span>)’;

En espérant que cela puisse vous aider


Tags :



Cet article vous plait? Une mise à jour à signaler? Une rectification à apporter? ... merci de me le signaler en réponse à ce billet


Commenter cet article

Vous devez être connecté(e) pour ajouter un commentaire.