Page 1 sur 1

Où placer la fonction qui remplace les [...] en <...>

Posté : 04 janv. 2008, 01:08
par alaingpl
Bonsoir à tous,

Je cherche à améliorer mes formulaires en leur ajoutant des boutons de mise en forme et j'ai suivi le tutoriel http://www.siteduzero.com/tuto-3-11567- ... #ss_part_1. J'ai su placer correctement le code javascript et les inputs mais je ne vois pas où je dois placer la fonction ci - dessous. Je vois très bien à quoi elle correspond et j'ai essayé plusieurs solutions mais bien sûr les accolades [...] ne sont pas transformées en <...>.
function code($texte)
{
//Mise en forme du texte
//gras
$texte = preg_replace('`\[g\](.+)\[/g\]`isU', '<strong>$1</strong>', $texte); 
//italique
$texte = preg_replace('`\[i\](.+)\[/i\]`isU', '<em>$1</em>', $texte);
//souligné
$texte = preg_replace('`\[s\](.+)\[/s\]`isU', '<u>$1</u>', $texte);
//lien
$texte = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0">$0</a>', $texte);
//etc., etc.

//On retourne la variable texte
return $texte;
}
Où dois je placer cette fonction ?
merci de l'aide.

Posté : 04 janv. 2008, 03:02
par Elie
Je veux pas être méchant mais si t'avais lu le truc en entier tu aurais vu que il y a ca d'écrit :
Euh... je la mets où, cette fonction ?

C'est encore une fois à vous de voir : personnellement, je vous conseille de créer un fichier fonction.php que vous placerez dans le dossier includes. L'avantage, c'est que vous pourrez plus facilement réutiliser cette fonction sur plusieurs pages (script de news pour votre site, livre d'or, etc.).
Mais vous pouvez aussi le recopier en haut de chaque page... cela dit, ce n'est pas une bonne idée si un jour vous êtes amenés à le modifier.
Vous avez pu voir dans la page précédente que je l'ai mise dans un fichier appelé bbcode.php.

On en a fini avec notre bbcode, et la fin approche ;) , on va maintenant parler de la page de traitement du message.
Je peux pas plus t'aider !

Posté : 04 janv. 2008, 03:19
par alaingpl
Si bien sûr je l'ai lu mais cela ne répond pas à ma question. Dois je le mettre avant le formulaire ou après, ou dans la page traitement même si c'est déconseillé.

Posté : 04 janv. 2008, 03:22
par Elie
Bah tu le mets ou tu veux dans le fichier include/bbcode.php

Posté : 04 janv. 2008, 03:35
par alaingpl
Alors est ce que la $texte doit être modifiée sachant que le texarea se nomme : footer ?

Posté : 04 janv. 2008, 03:38
par Elie
Non s'achant que $texte est générique et qu'il est utilisé après pour transformer ces 2 variables :
   //On affiche ici le message
   echo''.code($data['mp_text']).'<hr />'.code($data['membre_signature']).'
   </td></tr></table>';

Posté : 04 janv. 2008, 09:51
par alaingpl
Avec l'exemple j'ai su où placé le fichier fonction.php et j'affiche mon texte de la façon suivante :
echo ''.nl2br(code($data['footer'])).''; 
Est ce correct ?