Page 1 sur 1

Supprimer les <br/> de ma base Acces, via PHP

Posté : 13 juil. 2009, 12:17
par selverine
Bonjour,

Je pense que la question vous a été milles fois présentée, cependant, malgré des multiples essais (en prenant en compte les avis sur les forums), je n'arrive toujours pas à résoudre mon problème.

Mon code php convertie une base Mysql en base Access.

Pour l'instant tout marche parfaitement sauf un petit détail.

Je récupére une variable de ma base mysql, ou des retours à la ligne sont présents.
Dans mon code php lorsque je fait un écho j'obtiens:

test
test2

J'envoie ma variable dans ma base access mais la c'est le drame:

Ma varibale vaut alors

test<br/>test2

Pour parer à cela j'ai essayé ce code là
$n='
';


$contenu = str_replace('<br/>',"_",$contenu);
$contenu = str_replace('\"',"_",$contenu);
$contenu=str_replace('\"',"_",$contenu); 
$contenu=str_replace('\n',"_",$contenu); 
$contenu=str_replace('\r',"_",$contenu); 
$contenu=str_replace('\n\r',"_",$contenu); 
$contenu=str_replace('\r\n',"_",$contenu); 
$contenu=str_replace('$n',"_",$contenu);

preg_replace("/\\n/","\\r\\r",$contenu);
preg_replace('/\\r\\n|\\r|\\n/', '<br />', $contenu);
Et pourtant rien n'y fait, j'ai toujours mais </br> dans ma base Access

Si quelqu'un a une idée, je suis preneur

Merci d'avance!

Posté : 13 juil. 2009, 13:14
par micetf
Peut-être avec la fonction strip_tags() ?
Fred

Posté : 13 juil. 2009, 13:25
par Ryle
Y a des choses bizares dans le code que tu montres....

Déjà, as-tu regardé le contenu de tes enregistrements dans mysql ? parce qu'il n'y a aucune raison pour que des <br/> puissent apparaitre subitement durant le transfert :)

Lorsque tu fais un echo de ta valeur en php, celle-ci est affichée par le navigateur qui va interpréter les balises, et c'est justement parce qu'il y a un <br/> dans ta chaine qu'il va afficher tes données sur deux lignes...

Pour moi, ton script trouve la chaine avec les <br/> dans MySQL et l'insère avec les <br/> dans acces. La question est qu'est-ce que tu voudrais qu'il fasse ? Qu'il supprime les <br /> lors du transfert (la solution de micetf peut fonctionner s'il n'y a pas d'autres balises html) ? Qu'il les remplace par des \n (un simple str_replace() devrait faire l'affaire) ?

A noter que :
- pour être reconnu par php, un \n doit être spécifié entre guillemets ("\n") et pas entre apostrophes ('\n')
- si tu ne récupères pas le resultat retourné par la fonction preg_replace(), son appel ne sert à rien

Posté : 13 juil. 2009, 15:59
par selverine
Niquel, la fonction strip_tags() marche niquel, j'avais juste cette balise html à enlever.

Et en effet le <br/> se trouvais déja dans mon mysql.

Merci à vous