8796 sujets

Développement web côté serveur, CMS

Bonjour à tous !!

Je suis face à un problème depuis quelques heures ! j'implore votre aide !

C'est simple : lorsque j'insère un tableau dans un textarea, les sauts de ligne provoquaient par la mise en forme fait planter leur affichage sur mon site.

Concrètement quand dans mysql mon tableau s'enregistre ainsi :
<table>
<tr>
<td></td>
</tr>
</table>


alors mysql transforme en saut de ligne chaque espace entre les balises... pour je pense cela :
<table>\n
<tr>\n
<td></td>\n
</tr>\n
</table>\n


Par conséquent, lorsque j'en fait un "echo", les saut de lignes sont tous affichés avant le tableau... ce qui créé un très gros espace pas très pratique...

J'aimerais donc créer un preg_replace pour que "tous les <br /> dans les balises '<table' et 'table>' soient supprimé...

Et je plante...

J'ai essayé cela :
$contenu = 
preg_replace(
"/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.str_replace('\n\r','','\\2').'\\3'",
$contenu1);


... mais do not work...

Help me please !!!!!
Bonjour Zeb_panam !

Merci de ton aide !

Oui j'ai déjà essayé ceci rien n'y fait.
En fait quand mon tableau est enregistré dans ma base de donnée, tous les espaces se transforment en saut de lignes...

c'est peut-être à l'enregistrement qu'il faut que j'agisse non ?
Tu peux mettre ton code d'insertion dans la BDD ?
Et tu dis que "tu penses" que dans la BDD il rajoute des "\n", mais tu as vérifié (via phpmyadmin ou autre) ?
<?
if (isset($_GET['ajouter_news'],$_POST['valide']) AND $_POST['valide']==0)
{
if (isset($_POST['titre'])){
$titre_url = stripslashes(optimise_title($_POST['titre']));}

mysql_query("INSERT INTO actualite VALUES('',
'F1 - ".(addslashes($_POST['titre']))."',
'".(addslashes($titre_url))."',
'',
'".(addslashes($_POST['contenu']))."',
'".(addslashes($_POST['chapeau']))."',
'".(htmlspecialchars($_POST['theme2']))."',
'".(htmlspecialchars($_POST['theme1']))."',
'".(htmlspecialchars($_POST['theme']))."',
'".time()."',
'".(htmlspecialchars($_POST['valide']))."',
'".(htmlspecialchars($_POST['alaune']))."',
'".(htmlspecialchars($_POST['photo']))."',
'".(htmlspecialchars($_POST['photo']))."',
'".(htmlspecialchars($_POST['photo_categorie']))."',
'".(htmlspecialchars($_POST['auteur']))."',
'".(addslashes($_POST['liens']))."',
'".(addslashes($_POST['liens_video']))."',
'".$_POST['position']."',
'".(htmlspecialchars($_POST['photo_categorie']))."',
'".(addslashes($_POST['legende']))."',
0,
'',
0,
0,
0,
0,
'".$_POST['id_podcast']."',
'".$_POST['id_sondage']."',
'".$_POST['id_top10']."',
''
)");
// pour le forum
$pseudo = $prenom_membre.' '.$nom_membre{0}.'.';
mysql_query("INSERT INTO forum VALUES('', '" . $pseudo . "', '1 nouvel article en attente de validation', '".time()."')");
?>


Non, je n'ai pas vérifié les /n, mais en les supprimant sur l'affichage ça ne marche pas non plus.