Bonjour.

J'ai un formulaire avec un champ "Adresse" de type TEXTAREA. J'envoie l'ensemble du formulaire à mon API en PHP via les lignes JS (jQuery) suivantes :
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
const oFormulaire = {
    "nom": $("#Nom").val(),
    "adresse": $("#Adresse").val().replace(/\n/g, "\\n").replace(/\&/g, "\\&").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\f/g, "\\f")
}
$.ajax({
    type: "POST",
    url: sUrlApi,
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(oFormulaire)
  })
Je récupère les données côté serveur dans un script PHP avec les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$sDataIn = file_get_contents("php://input");
$aDonnees = json_decode($sDataIn);
Et je vérifie ce que contient le champ "Adresse" avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
filter_var($aDonnees->adresse, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => "#^[a-zÀ-ÿ\-&\n\r\\ ]+$#i")))
Lorsqu'il y a un retour à la ligne dans le champ TEXTAREA, fitler_var renvoie 'false' et je ne comprends pas pourquoi.
Est-ce que j'ai raté quelque chose ? J'ai fait pas mal de recherches et d'essais, sans succès.