bbcode > variable dans string_replace

Eléphant du PHP | 299 Messages

04 mai 2010, 19:08

Bonjour, j' ai fait une fonction bbcode qui me casse un peu les pieds, le dossier "design" de mon site est representé par $config['theme'], mais si je le met dans mon string replace, plus d' erreur cependant il n' apparait plus le resultat dans cette variable dans le code source de la page web, et donc les images ne s' affichent pas.

Au lieu d' avoir:

themes/MONDESIGN/images/bla.gif

j' ai : themes//images/bla.gif

Quelqu' un saurait remédier a ce souci?

Voici la partie genante:
		  <?php
function bbcode($texte)
{
//Smileys
$texte = str_replace(':x', '<img src="themes/'.$config['theme'].'/smileys/chut.gif" alt="" />', $texte);

//On retourne la variable texte
return $texte;
}
?>

Merci d' avance!

ViPHP
AB
ViPHP | 5818 Messages

04 mai 2010, 19:15

Ben faudrait que tu déclare $config comme variable globale à l'intérieur de ta fonction ou que tu passe $config en paramètre à la fonction.

Eléphant du PHP | 299 Messages

04 mai 2010, 19:31

Arf, heu, plus simplement? :mrgreen:

A l' interieur de ma fonction? je ne comprend pas trop la :shock:

ViPHP
AB
ViPHP | 5818 Messages

04 mai 2010, 19:42

function bbcode($texte)
{
//Smileys
global $config;

$texte = str_replace(':x', '<img src="themes/'.$config['theme'].'/smileys/chut.gif" alt="" />', $texte);

//On retourne la variable texte
return $texte;
}
?>
http://www.manuelphp.com/php/language.v ... .scope.php

Mais ce serait mieux de passer le tableau $config en paramètre à ta fonction
function bbcode($texte,$tab_config)
{
//Smileys

$texte = str_replace(':x', '<img src="themes/'.$tab_config['theme'].'/smileys/chut.gif" alt="" />', $texte);

//On retourne la variable texte
return $texte;
}

// appel de la fonction
bbcode($texte,$config);

Eléphant du PHP | 299 Messages

04 mai 2010, 20:46

Bravo, du premier coup ta solution, enfin TES solutions fonctionnent et tu m' a appris deux ou trois choses que je vais etudier de plus prés, milel merci a toi pour ton enseignement!!!

=D> =D> =D>