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

Eléphant du PHP | 271 Messages

04 janv. 2008, 01:08

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.
Patience et obstination sont des qualités !

Mammouth du PHP | 1339 Messages

04 janv. 2008, 03:02

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 !
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 271 Messages

04 janv. 2008, 03:19

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é.
Patience et obstination sont des qualités !

Mammouth du PHP | 1339 Messages

04 janv. 2008, 03:22

Bah tu le mets ou tu veux dans le fichier include/bbcode.php
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 271 Messages

04 janv. 2008, 03:35

Alors est ce que la $texte doit être modifiée sachant que le texarea se nomme : footer ?
Patience et obstination sont des qualités !

Mammouth du PHP | 1339 Messages

04 janv. 2008, 03:38

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>';
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 271 Messages

04 janv. 2008, 09:51

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 ?
Patience et obstination sont des qualités !