Un str_replace qui remplace que la premiere fonction

Résolu
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 30 mars 2007 à 11:59
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 30 mars 2007 à 19:35
Bonjour,
Ma demande est assez complique a explliquer, mais je compte sur vous pour m'aider.

Explication du fonctionnement : J'utilise fckeditor pour écrire des articles. Je voulais faire un include dans un article pour afficher un formulaire. Mais a l'affichage de mon article l'include est affiché comme un vulgaire txt et non comme une fonction php.

Solution adopté : Je met un tag dans mon article et utilise srt_replace sur la variable d'affichage de l'article afin que le tag soit converti en formulaire et ca marche : $larticle=str_replace('{{insert_form}}', display_form(), $larticle);

Le probleme : Ce qui est bizzard c'est que j'ai fais un deuxieme tag qui lui génére dans une boucle une liste de dates.
$larticle=str_replace('{{insert_date}}', display_date(), $larticle);
Pour info, cette meme boucle est utilisé dans le formulaire et elle marche.
Le bp vient du faite que la boucle s'affiche dans le formulaire si le str_replace du formulaire et en premiere ligne, mais elle ne s'affiche pas dans la page contenant le tage de la boucle seule.
Et vis versa si le str_replace tu tag de la boucle date est en premieres ligne la liste apparet mais elle n'apparet plus dans le formulaire.

le script de remplacement est :
$larticle = $row_aff_article['article'] ;
$larticle=str_replace('{{insert_date}}', display_date(), $larticle);
$larticle=str_replace('{{insert_form}}', display_form(), $larticle);
echo $larticle ;

Comment faire pour que le remplacement des tags foncionne quelque soit leurs positionement dans le script ci-dessus ???

Je sais que ce n'est pas l'été mais je saiche.

Merci de votre aide

4 réponses

cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
30 mars 2007 à 19:35
J'ai trouvé, mais j'aurais besoin d'une explication.
Pour résumé j'utilisais une requette pour une boucle qui ce trouve dans deux pages differentes.

J'ai simplement dupliqué la requete en la noment autrement.
L'une a été affecté pour la boucle du form et l'autre requete pour la boucle de la deuxieme page.

Et voila ça marche.
Trop bizzard, faire deux fois la même requette pour une même boucle mais dans des pages différentes.
QUEL CAPRISE


Donc si qq a une explication je suis curieux de la connaitre
3
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
30 mars 2007 à 13:13
C'etait pas tres clair comme question... alors je ne vais pas te donner la bonne réponse :

Tu peux passer des tableaux :

$search = array( '{{insert_date}}', '{{insert_form}}' );
$replace = array( display_date(), display_form() );
$larticle = str_replace($search, $replace, $larticle);

<? peut-être que là ça va marcher ?>
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
30 mars 2007 à 14:27
Même probleme.
Il remplace seulement la premiere chaine.
Dans ton code il s'agit de {{insert_date}}.

Une autre idée.
 SVP
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
30 mars 2007 à 14:38
non...
mais c'est pas un bug de la fonction!
Donc revois ton système de template...
 désol'
0
Rejoignez-nous