Jump to content
  • 0

API PHP/Sauts de lignes


Question

Bonsoir à tous,

J'ai un formulaire sur mon site web qui alimente directement une base FileMaker. Mon problème se situe au niveau de l'interprétation des sauts de lignes saisis dans un <textarea>, et je n'arrive pas à trouver la solution pour les convertir pour FileMaker avec PHP.

Explications :

Si j'écris dans mon <texarea> :

Citation

Test
Test

Du côté de FileMaker, les sauts de ligne seront doublés. ça donnera alors dans ma rubrique texte :

Citation

Test

Test

J'ai testé la fonction nl2br(), également de faire des preg_replace() pour remplacer les <br/> en \r ou \n, mais ils sont insérés en brut dans ma rubrique texte, qui garde tout de même ses doubles sauts de ligne.

Avez vous une piste ?

Merci d'avance pour votre aide !

Loraga

Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Hello,

Je pensais réussir en utilisant la fonction urlencode() de PHP sur le résultat de mon <textarea>  :

$valeur_a_inserer = urlencode($mon_TextArea);

Ce qui a pour effet de remplacer tous les sauts de ligne par des "%0D%0A". Ensuite, côté FileMaker, je substitue ce caractère par un saut de ligne en utilisant le résultat de calcul suivant :

Substituer ( rubrique::rubrique ; "%0D%0A" ; ¶ )

Mais il faudrait en fait subsitituer tous les caractères spéciaux de la chaine de caractère, car tous sont convertis en ASCII 😭

Cette méthode est difficile à mettre en oeuvre donc. Je manque d'idées, si quelqu'un à un indice, je suis preneur !

Merci d'avance pour votre aide, et bonne journée 🙂

Link to post
Share on other sites
  • 0

Une idée a la c...

Si ca vous donne 2 séparations  , c'est que ce système fait une séparation automatique . Donc encodé les différant élément sans  séparation . Pour un résulta a une séparation :D

Link to post
Share on other sites
  • 0

Bonjour Apophis et merci pour votre aide :)

Sous quel format pourrais-je encoder ma chaine de caractère ?

J'ai encore testé pas mal de solutions, d'effectuer le traitement autant du côté de PHP que de la rubrique FileMaker mais rien à faire, FileMaker m'ajoute toujours ces doubles saut de ligne dans ma rubrique :(

 

Link to post
Share on other sites
  • 0

Désolé je connais pas grand chose au php . Mais théoriquement ...

Vous dite dans votre 1er post que quand vous encode

Test
Test

ca vous donne

Test

 
Test

...

Donc encodé

Test Test

ca vous donnera en théorie

Test
Test

 

En fait j'ai us un problème similaire , et c'est + - comme ca qua j'ai résolu mon erreur .

 

Link to post
Share on other sites
  • 0

Même sans encoder ma chaine de caractères (c'est à dire en l'envoyant brute, telle quelle dans FileMaker) le problème se produit aussi :(

Si j'encode ma chaine, les doubles sauts sont toujours là. J'ai tenté de générer des <br /> puis de les remplacer par des ¶ par script côté FileMaker, j'ai alors des triple sauts de ligne...

La seule solution qui à fonctionné était d'encoder ma chaine de caractère en ASCII, car là, il ne restait effectivement plus qu'un seul saut de ligne, mais c'est un peu lourd pour traiter une simple rubrique "commentaires" d'un formulaire web.

Il n'y aurait pas une solution, du côté de FileMaker, pour systématiquement remplacer un double saut de ligne par un seul dans une rubrique texte ?

Link to post
Share on other sites
  • 0

Un formulaire web ... Et si ce formulaire envoyait  plutôt les info via mail ? Et récupéré auto. ce mail ?? Ca éviterai peut-être les caractère spéciaux du php  ( je c pas j'ai pas fait ... je pose la question ... )

Link to post
Share on other sites
  • 0

A vrai dire, vu que ces sauts de lignes sont le dernier détail à régler pour que l'application soit entièrement fonctionnelle, ça m'embête d'au final devoir passer par un e-mail ^^

Je vais continuer mes tests, je finirai bien par trouver une solution ! Parce que pour le coup, passer par l'API PHP pour remplir directement une BDD FileMaker depuis un formulaire web, ça fonctionne vraiment bien ! C'est fluide, c'est quasi instantané pour les utilisateurs côté FM, idem côté web pour le traitement des données, et c'est pas trop difficile à mettre en œuvre au final.

Je trouve beaucoup plus d'infos sur le web lorsqu'on utilise l'API PHP pour afficher des infos de sa base sur une application web, mais dans mon cas, c'est l'inverse : envoyer des infos à ma base depuis le web, et là, pas trop d'infos sur les divers forums que j'ai visité...

Merci à vous pour votre aide en tout cas.

Link to post
Share on other sites
  • 0

Problème résolu, voici la solution si un jour quelqu'un rencontre le même problème. C'était lié aux caractères CRLF, il suffit de remplacer comme ceci les caractères mal interprétés côté serveur avec PHP :

$maChainePropre = str_replace("\r\n", "\r", $maChainePasPropre);

Bonne soirée à tous :)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...