Comment enregistrer une chaîne de texte avec des sauts de ligne à une base de données MySQL champ de texte à l'aide de PHP?
Dans SugarCRM j'ai un champ de type Textarea que je suis en train d'enregistrer les données avec des sauts de ligne.
SI j'insère <br>
balises, alors qu'ils se présentent en tant que texte les balises de saut. Si je tente quelque chose comme \n
puis il montre aussi jusqu'en tant que texte.
Maintenant, si je vais dans SugarCRM et de modifier un enregistrement, je peux taper dans le texte et de faire un saut de ligne. L'enregistrer et afficher de nouveau et les sauts de ligne apparaissent comme j'aurais voulu qu'ils!
Je suis en train d'enregistrer des données avec des sauts de ligne pour le même domaine à partir d'un API à distance de script.
Je suis allé dans la Base de données avec phpMyAdmin pour voir comment le champ regardé et là, c'est...
Les 3 premières lignes ont les sauts de ligne que j'ai fait à l'intérieur de SugarCRM la modification d'un enregistrement manuellement.
La ligne après sont de ma télécommande de l'API de script où je l'avait sauvé de la <br>
balises dans la chaîne.
Line 1 Text: ghfghdf
Line 1 Color: #0064FF
Line 1 Font: Architect
Line 2 Text: fghfg<br /> Line 2 Color: #9F00FF<br /> Line 2 Font: Belshaw<br /> Line 3 Text: fghdhdhdf<br /> Line 3 Color: #FF5000<br /> Line 3 Font: Benguiat<br />
Toutes les idées de comment je peux faire mon code PHP enregistrer une chaîne à ce domaine et a des sauts de ligne lors de l'affichage dans la base de données tout comme les 3 premières lignes ci-dessus sont?
Je google un peu et TinyMCE peut être utilisé dans SugarCRM donc je pense que ça permettrait de résoudre votre problème avec n'importe quel format texte
Est les données renvoyées par l'API HTML?
Merci pour la suggestion et de la recherche cependant, je suis incapable de changer le champ type dans SugarCRM pour ce cas, je vais avoir de la place modifier la sortie personnalisé avec SugarCRM code il me semble
Je suis en fait en insérant les données à l'aide de l'API au lieu de le retourner. DONC, à l'aide de PHP je enregistrer des données dans SugarCRM et puis afficher les données dans l'application SugarCRM lors de l'édition et de visualisation des champs. Il semble que je vais simplement devoir faire un peu de code personnalisé dans le secteur du Sucre pour la partie "vue" depuis que je ne peut pas modifier la manière dont il est enregistré.
OriginalL'auteur JasonDavis | 2015-04-18
Vous devez vous connecter pour publier un commentaire.
Comme suggéré dans commentaires, ce genre de problème tend à être liée au fait que, dans seul chaînes entre guillemets :
mais dans chaînes entre guillemets doubles :
Donc
echo '\n'
imprime \nalors que
echo "\n"
vous permettra d'avoir une nouvelle ligne correctement.Et bien sûr, vous pouvez également utiliser
PHP_EOL
pour en faire de la croix-OS.OriginalL'auteur b.enoit.be
Lorsque vous tentez de stocker des données qui a des sauts de ligne, vous voulez utiliser le nl2br() à l'intérieur de php avant de stocker les données. J'ai eu les mêmes problèmes avant et après des mois et des mois à essayer différentes choses à faire fonctionner à droite sur le site d'un client, c'est sur ce que j'ai trouvé la réponse un jour.
La clé est de convertir les données en utilisant nl2br() avant de les stocker.
Espère que cette aide.
nl2br()
puis il va ajouter<br>
balises à ma chaîne qui n'est pas ce que je veux. Dans SUgarCRM lorsque vous affichez un dossier, si il a<br>
balises dans la chaîne puis il montre les balises au lieu de les faire fonctionner."La clé est de convertir les données à l'aide de nl2br() avant de les stocker.". Pas de. Ne pas le faire. Vous allez le regretter plus tard. Que faire si vous voulez à la sortie de ce texte dans un autre format? Le mettre dans un fichier PDF, envoyer par mail, lire et afficher dans une application Android, etc etc? Au lieu de convertir les données avant de vous affichage. Toujours stocker des données dans la plupart des formes génériques. En tant que texte. Seulement ajouter de balisage, d'évasion, de la force du texte en majuscules etc etc avant de affichage. Cela vous permet d'utiliser le balisage de droit et s'échappe pour le format d'affichage au lieu de mélanger les données.
OriginalL'auteur MrTechie
Utilisation
PHP_EOL
au lieu de<br/
> ou\n
par exemple
OriginalL'auteur Sibin John Mattappallil