Caractère espace non respecté en php
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 -
t671 -
Bonjour,
Je saisi un texte, style lettre, via un menu qui ensuite écrit ce texte dans la base et l'affiche dans une page. Le probléme, c'est que les caractères espaces ne sont pas pris en compte.
Si je veux écrire "AAAAAAAAAAA BBBBBBBBB", il m'affiche "AAAAAAAAAAABBBBBBBBBB". Pourtant, dans le champs de la base, les caractères espace sont respectés.
Voici ce que j'écris dans mon script :
Et pour restituer mon texte à l'écran, j'écris :
Malgré cela, les caractères espaces ne sont pas restitués.
Y a t'il une formule pour afficher le texte avec ses espaces ?
Merci.
Je saisi un texte, style lettre, via un menu qui ensuite écrit ce texte dans la base et l'affiche dans une page. Le probléme, c'est que les caractères espaces ne sont pas pris en compte.
Si je veux écrire "AAAAAAAAAAA BBBBBBBBB", il m'affiche "AAAAAAAAAAABBBBBBBBBB". Pourtant, dans le champs de la base, les caractères espace sont respectés.
Voici ce que j'écris dans mon script :
$texte = $_GET["texte"]; $texte = mysql_real_escape_string($texte); $texte = eregi_replace("([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)","<A HREF=\"mailto:\\1\">\\1</A>", $texte); $texte = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])","<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",$texte);
Et pour restituer mon texte à l'écran, j'écris :
echo nl2br($row['texte']);
Malgré cela, les caractères espaces ne sont pas restitués.
Y a t'il une formule pour afficher le texte avec ses espaces ?
Merci.
A voir également:
- Caractère espace non respecté en php
- Espace insécable - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Espace de stockage gmail plein - Guide
- Caractere speciaux - Guide
4 réponses
Salut !
Je te conseille de faire c'est traitements (eregi_replace) en sortie, et non pas en entré !
Tu dis que dans ta bdd, les espaces existent !
Et si tu n'utilisais pas "nl2br", ça reste idem ?
Je te conseille de faire c'est traitements (eregi_replace) en sortie, et non pas en entré !
Tu dis que dans ta bdd, les espaces existent !
Et si tu n'utilisais pas "nl2br", ça reste idem ?
Merci Joos.
Si j'enlève "nl2br", plus aucun espace n'est respecté.
Si je place eregi_replace avant affichage, c'est pareil !
Et je confirme que dans la bdd, les espaces sont respectés.
Il doit exister une formule permettant de prendre en compte ces espaces ...... !!!Mais laquelle ????
Si j'enlève "nl2br", plus aucun espace n'est respecté.
Si je place eregi_replace avant affichage, c'est pareil !
Et je confirme que dans la bdd, les espaces sont respectés.
Il doit exister une formule permettant de prendre en compte ces espaces ...... !!!Mais laquelle ????
Quand je ne fait aucun traitement, ni avant insertion dans la bdd ni après, j'ai le même résultat qu'auparavant.
C'est à dire que les sauts de ligne sont respectés à l'affichage, mais pas les espaces plus ou moins longs entre des mots.
Tu me dis que la fonction "eregi_replace" est devenu obsolète.
Qu'est ce qui la remplace ???????
C'est à dire que les sauts de ligne sont respectés à l'affichage, mais pas les espaces plus ou moins longs entre des mots.
Tu me dis que la fonction "eregi_replace" est devenu obsolète.
Qu'est ce qui la remplace ???????
franchement, c'est bizarre, normalement l'affichage direct sans aucun traitement devrait afficher les textes tel qu'ils sont dans la bdd !
Au lieu d'afficher, fait un var_dump , et regarde si les espaces existent dans les variables !
La fonction qui remplace eregi_replace est : preg_replace
Au lieu d'afficher, fait un var_dump , et regarde si les espaces existent dans les variables !
La fonction qui remplace eregi_replace est : preg_replace