Utilisation de REPLACE sous MySql
Résolu/Fermé
A voir également:
- Utilisation de REPLACE sous MySql
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Mysql community server - Télécharger - Bases de données
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Vous avez utilisé ce numéro de téléphone à de trop nombreuses reprises - Forum Gmail
3 réponses
salut,
a mon avis le plus simple de récupérer le début de ta chaine d'une part et la fin d'autre part. Ensuite tu concatene le tout avec le contenu de ton div :
chaine_deb + nouveau_div + fin_chaine
tu peux recuperer le debut avec un truc du genre substring(tonchamps,locate(tonchamps,'<div...>')
tu peux recuperer la fin avec SUBSTRING(tonchamps FROM locate(tonchamps,'</div>' );
et tu finis par un concat.
cf https://dev.mysql.com/doc/refman/8.0/en/string-functions.html
a mon avis le plus simple de récupérer le début de ta chaine d'une part et la fin d'autre part. Ensuite tu concatene le tout avec le contenu de ton div :
chaine_deb + nouveau_div + fin_chaine
tu peux recuperer le debut avec un truc du genre substring(tonchamps,locate(tonchamps,'<div...>')
tu peux recuperer la fin avec SUBSTRING(tonchamps FROM locate(tonchamps,'</div>' );
et tu finis par un concat.
cf https://dev.mysql.com/doc/refman/8.0/en/string-functions.html
wazertyuiop
Messages postés
32
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 février 2011
1
Modifié par wazertyuiop le 16/02/2011 à 11:10
Modifié par wazertyuiop le 16/02/2011 à 11:10
Bonjour, tu pourrais nous dire textuellement sans la requête ce que tu veux faire et avec un exemple concret ? car la ce n'est pas très compréhensible
Je dois remplacer le contenu d'un champ de type texte qui contient du HTML sous MySQL (je ne veux pas passer sous php.
Dans ce contenu HTML il y a la balise '<div id='infoclient'>' (ma balise de début) '</div>' (ma balise de fin) dans lequel j'ai besoin de remplacer tout le texte situé entre ces deux balises
le problème est que le texte contenu dans les deux balises n'est pas constant donc impossible d'utiliser UPDATE Table SET champ=REPLACE (champ,'chainearemplacer','nouvellechaine') WHERE ...
Dans ce contenu HTML il y a la balise '<div id='infoclient'>' (ma balise de début) '</div>' (ma balise de fin) dans lequel j'ai besoin de remplacer tout le texte situé entre ces deux balises
le problème est que le texte contenu dans les deux balises n'est pas constant donc impossible d'utiliser UPDATE Table SET champ=REPLACE (champ,'chainearemplacer','nouvellechaine') WHERE ...
wazertyuiop
Messages postés
32
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 février 2011
1
16 févr. 2011 à 12:00
16 févr. 2011 à 12:00
Je sais pas si c'est moi qui est la polio ou toi qui ne te rend pas compte que ce que tu dis est totalement incompréhensible
champ de type texte qui contient du HTML sous MySQL (je savais pas qu'on pouvait faire du html sous mysql etc.. enfin bref comprend pas)
tu dis que tu peux pas utiliser
PDATE Table SET champ=REPLACE (champ,'chainearemplacer','nouvellechaine') WHERE
pour remplacer le texte dans
<div id='infoclient'>' (ma balise de début) '</div>
si quelqu'un d'autre arrive a comprendre ce qu'il veut faire expliquer moi
ou essai toi d'expliquer clairement ce que tu veux car je pense que tu n'as aucune réponse non pas parce que les gens ne savent pas faire mais parce qu'ils ne comprennent rien
champ de type texte qui contient du HTML sous MySQL (je savais pas qu'on pouvait faire du html sous mysql etc.. enfin bref comprend pas)
tu dis que tu peux pas utiliser
PDATE Table SET champ=REPLACE (champ,'chainearemplacer','nouvellechaine') WHERE
pour remplacer le texte dans
<div id='infoclient'>' (ma balise de début) '</div>
si quelqu'un d'autre arrive a comprendre ce qu'il veut faire expliquer moi
ou essai toi d'expliquer clairement ce que tu veux car je pense que tu n'as aucune réponse non pas parce que les gens ne savent pas faire mais parce qu'ils ne comprennent rien
Dans un champ Mysql de type TEXTE
nous avons stocké du TEXTE au format HTML.
Nous aimerions remplacer via une requête mysql, une partie de ce contenu
Ce contenu à remplacer est délimité par 2 balises:
une balise de début : <div id='infoclient'>
une balise de fin : </div>
question. Comment remplacer le bla bla en gras ?
sachant que le contenu du champ de la BD est de la forme suivante
...bla...<div id='infoclient'>bla bla</div>...bla.....
sachant que le bla bla n'est pas une constante (mais bien variable) entre les différents enregistrement de la base de donnée
Celà vous semble t il plus lisible ?
nous avons stocké du TEXTE au format HTML.
Nous aimerions remplacer via une requête mysql, une partie de ce contenu
Ce contenu à remplacer est délimité par 2 balises:
une balise de début : <div id='infoclient'>
une balise de fin : </div>
question. Comment remplacer le bla bla en gras ?
sachant que le contenu du champ de la BD est de la forme suivante
...bla...<div id='infoclient'>bla bla</div>...bla.....
sachant que le bla bla n'est pas une constante (mais bien variable) entre les différents enregistrement de la base de donnée
Celà vous semble t il plus lisible ?
16 févr. 2011 à 13:36
Bonne journée
21 janv. 2015 à 14:53
j'ai la même problématique sauf qu'au lieu de remplacer le contenu entre deux balises, je souhaite le supprimer.
Avez-vous encore sous le coude le code que vous avez utilisé ? je ne trouve pas la réponse.
Par avance merci