begin process at 2012 02 13 08:22:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

chaine avec paramètre à remplacer mais problème


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

chaine avec paramètre à remplacer mais problème

mardi 15 août 2006 à 16:07:14 | chaine avec paramètre à remplacer mais problème

Gwinyam

Salut,

Je m'explique:
L'idée est de permettre un utilisateur d'appeller des fonctions php dans le contenu des articles pour un projet de CMS. Ces fonctions sont tirées d'une librairie (ou bibliothèque) créée pour la gestion du contenu. Le problème c'est que j'ai des paramètre à passer.

Exemple:
un contenu tel que je souhaite qu'il soit tapé par l'utilisateur "abcde::disp_profil(52)::fghi"
Donc l'idée est de faire appel à une fonction php qui remplacera "::disp_profil(52)::" par ce que retournera la fonction php disp-profil, avec l'argument 52, argument qui peut varier de taille selon le besoin. Et c'est là que je suis paumé...

Je pense que les expressions rationelles/régulières sont dans la solution, mais je ne vois pas comment composer le tout...

Vous auriez pas un petit coup de main en stock à me filer?
svp

Merci d'avance
mercredi 16 août 2006 à 05:15:25 | Re : chaine avec paramètre à remplacer mais problème

mentral

Slt

En gros tu veux aboutir à ce que donnerait "abcde<?php echo disp_profil(52); ?>fghi" sans permettre à l'utilisateur d'employer directement le php durant la saisie de son article (trop risqué) et en marquant l'appel de la fonction php par ::, c'est ça ?

[ Mentral ]



mercredi 16 août 2006 à 05:58:25 | Re : chaine avec paramètre à remplacer mais problème

mentral

Fais-voir ton code qu'on l'adapte ensemble.


mercredi 16 août 2006 à 08:05:25 | Re : chaine avec paramètre à remplacer mais problème

coockiesch

Réponse acceptée !
Salut!
Voici ce que j'ai fait:
function disp_profil( $n )
{
    return ( $n[1] * 2 );
}
// --> le nombre à traité est dans $n[1];


// chaîne de test
$text = 'abcde::disp_profil(52)::fghidfs::disp_profil(5)::';


// à la place de disp_profil, tu dois avoir le nom de ta fonction à 1 paramètre
$text = preg_replace_callback( '/::disp_profil\(([0-9]+)\)::/', 'disp_profil', $text );

echo $text me renvoie: abcde104fghidfs10
ce qui est juste...

@++

R@f


www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 16 août 2006 à 09:35:09 | Re : chaine avec paramètre à remplacer mais problème

mentral

Est-il possible de généraliser ta fonction à d'autres fonctions que "disp_profil" ?

L'expression régulière deviendrait par exemple : /::[a-zA-Z0-9_-]+\(([0-9]+)\)::/

Par contre je me demande s'il est vraiment possible de récupérer le nom de ladite fonction par la suite pour l'entrer dans preg_replace_callback.

Une idée ?

[ MentraL ]


mercredi 16 août 2006 à 12:49:13 | Re : chaine avec paramètre à remplacer mais problème

Gwinyam

ouah, vous répondez très vite, ça fait plaisir :)

Bon bah je vais tester ça et je vous tiens au courant

Mentral, à qui t'adresses tu?
si c'est pour moi, je pense que l'idée générale de la solution va servir plusieurs fois
merci en tout cas

mercredi 16 août 2006 à 20:51:08 | Re : chaine avec paramètre à remplacer mais problème

FhX

"Par contre je me demande s'il est vraiment possible de récupérer le nom de ladite fonction par la suite pour l'entrer dans preg_replace_callback." Via un create_function en utilisant comme argument la chaine de la fonction à utiliser et de faire un return dessus.
jeudi 17 août 2006 à 11:18:41 | Re : chaine avec paramètre à remplacer mais problème

Gwinyam

bon, j'ai testé, et apparemment tout est bon, donc un très grand merci.


Cette discussion est classée dans : problème, php, contenu, paramètre, disp


Répondre à ce message

Sujets en rapport avec ce message

problème php/mysql [ par nicomilville ] Bonjour j'ai une page qui doit normalement m'afficher le contenu de ma table "news" mais ça ne marche pas !!!Dans ma table "news" il y a 4 champs : "i problème de redirection si passage de paramètre [ par geff33 ] Bonjour, Voici mon problème que je n'arrive pas à solutionner: je veux faire une redirection dans une page située dans un répertoire du site vers ind problème ouverture Excel à partir de PHP en utilisant un objet COM [ par kiki2sirom ] Bonjour, Je rencontre un problème : j'utilise l'objet COM pour créer un fichier Excel à partir de PHP avec PHP 4.4.8 / Windows Server 2008 et avec Of Problème simple de tableau (enfin je pense) [ par wiz4rd ] Bonjour, j'ai un soucis quand j'utilise la fonction [url=http://www.manuelphp.com/php/function.array-multisort.php]array_multisort()[/url]: Voici le Problème DAOFactory et consors [ par vlec ] Bonjour, Alors voilà, j'ai un petit problème, non en fait un gros problème. :) Je fais actuellement un site pour une association. Site dans l'ensemb problème de selection dans un tableau (php) [ par tagadax ] Bonjour à tous!! Voila j'ai un petit souci.J'ai construis un tableau et donc a chaque bout de colonne j'ai inclu un checkbox.En dehors de mon tableau PHP et les Images [ par Steph115 ] Bonjour,Pour un petit programme en PHP j'ai un "bureau" qui fait 100x100.Les images que les utilisateurs rentrent dans le système sont redimensionnées PB installation PHP 5.2.8/Apache 2.2.11/Windows 2003 server [ par accros ] Bonjour, j'ai un problème sur lequel je bute.J'ai installé sur mon poste perso (en XP Pro) une suite PHP 5.2.8 et Apache 2.2.11 et je n'ai pas de prob Problème php javascript [ par neoscars ] Bonjour,J'ai une petite question (pour une petite réponse ).J'ai un script php qui me permet d'afficher tous les champs d'une bdd mysql dans un tablea récuperer le chemein d'une image [ par lamiae2 ] bonjour;j'ai un problème depuis une semaine,pour upload une image dans un pop up.mon chef m'a demandé de créer un formulaire ajouter.php pour remplir


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales