IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

récursivité de fonctions et $_POST


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut récursivité de fonctions et $_POST
    Bonjour,

    Je souhaite traiter une phrase en utilisant différentes fonctions php via une routine dont voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     function array_map_recursive($func, $arr)
     {
     
     	if(is_array($arr))
     	{
     		$result=array();
     		do{
     			$key=key($arr);
     			if(is_array(current($arr)))
     			{
     				$result[$key]=array_map_recursive($func,$arr[$key]);
     			}
     			else
     			{
     				$result[$key]=$func(current($arr));
     			}
     		}while(next($arr)!==false);
     		return $result;
     	}
     	else
     	{
     		return $func($arr);
     	}
     }
     
     function br_extreme($mot)
     {
     	return trim(trim(trim($mot,"<p>"),"</p>"),"&nbsp;");
     }
     
     $fonctions_entrantes=array("br_extreme", "addslashes", "htmlentities");
     
    //Traitement des $_POST
    if(isset($_POST))
    {
     	foreach($fonctions_entrantes as $fct_in)
     	{
     		$_POST=array_map_recursive($fct_in,$_POST);
     		print_r($_POST);
     	}
    }
    En fait, j'ai un souci avec lapremière fonction : br_extreme
    Il semblerait que les espaces en début et en fin ne soient pas supprimer ainsi que les balise "<p>" et "</p>".

    Pourquoi?

    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Exemple
    Bonjour,

    peux-tu donner un exemple de phrase que tu veux traiter. Là, c'est assez obscur ... (pour moi, en tout ka)

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par bodysalva Voir le message
    Bonjour,

    peux-tu donner un exemple de phrase que tu veux traiter. Là, c'est assez obscur ... (pour moi, en tout ka)

    Oui désolé

    Mais en fait, je pense que je dois utiliser plutot une expression régulière car car je souhaite retirer les balises <p> et </p> quelque soit leur position en début ou en fin de chaine : je m'explique par des exemples :

    Soit $paragraphe, une de ces phrases
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p> Ceci est un paragraphe dont le code ne me plait pas</p>&nbsp;&nbsp;
    <p> &nbsp;Ceci est un paragraphe dont le code ne me plait pas&nbsp;</p>&nbsp;&nbsp;
    &nbsp;&nbsp;<p>&nbsp; Ceci est un paragraphe dont le code ne me plait pas&nbsp;&nbsp;&nbsp;</p>&nbsp;&nbsp;
    le résultat escompté est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ceci est un paragraphe dont le code ne me plait pas
    donc épurer de <p>, </p> et &nbsp; (MAIS UNIQUEMENT aux extrémités du paragraphe)

    Donc une solution se profile finalement à l'horizon :
    1. trim($paragraphe)
    2. expression régulière sur $paragraphe qui enlève <p> en début de chaine et </p> en fin de chaine
    3. trim($paragraphe)

    Bon maintenant faut chercher une expression régulière pour oter ces balises !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Alors les expressions régulières en PHP je ne connais pas du tout, mais je suppose que ça doit ressembler aux expressions régulières en maths non ?

    Si oui voici ce qu'en maths ça donnerait :
    (<p> | &nbsp; )* pour la partie avant le texte.
    (</p> | &nbsp; )* pour la partie après le texte.

    Maintenant je suis peut-être complètement à côté de la plaque (si c'est le cas oublie tout ce que j'ai dit )

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 134
    Points : 71
    Points
    71
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $chaine="<p>ceci est un essai</p>&nbsp;&nbsp;";
    $chaine= ereg_replace("(<p>|&nbsp;)*",'',$chaine);
    $chaine= ereg_replace("(</p>|&nbsp;)*",'',$chaine);
     
    echo $chaine; // retourne 'ceci est un essai'
    J'ai testé ceci, ça a l'air de fonctionner

Discussions similaires

  1. [MySQL] utiliser fonction count($_POST) javascript
    Par Shivas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/06/2010, 16h00
  2. Fonction avec $_POST
    Par guigui69 dans le forum Langage
    Réponses: 5
    Dernier message: 03/10/2008, 07h37
  3. Valider les $_POST en masse par une fonction
    Par Marshall_Mathers dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2007, 23h02
  4. Réponses: 18
    Dernier message: 21/10/2006, 19h10
  5. [Tableaux] Récursivité include / fonction
    Par francis m dans le forum Langage
    Réponses: 14
    Dernier message: 16/05/2006, 22h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo