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

Petit nouveau ! | 2 Messages

13 juil. 2009, 12:17

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!

Eléphant du PHP | 65 Messages

13 juil. 2009, 13:14

Peut-être avec la fonction strip_tags() ?
Fred

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 juil. 2009, 13:25

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 2 Messages

13 juil. 2009, 15:59

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