Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2010, 14h16   #1
Membre régulier
 
Inscription : octobre 2010
Messages : 252
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 252
Points : 92
Points : 92
Par défaut Vérifier la présence d'une balise dans un tableau associatif

Bonjour,

Je ne sais pas si c'est le plus optimal, mais j'ai besoin d'afficher des messages provenant d'un forum sur une page php.

Le problème c'est que les posts contenants du bbcode doivent être remplacé par des balises html pour être interprété (à moins qu'il y ai une astuce ?? ).

Je veux donc envoyer mon texte à une fonction qui aurait pour but de vérifier si chaque mot est dans un array qui contiendrait toutes les balises bbcode avec pour valeur son équivalent en php.

Pour se faire j'ai déjà
-str_replace: qui me permettra de remplacer une balise par une autre.
-array_key_exists() que je vais devoir appliquer sur chaque balise détecté.

Mais maintenant il me manque une fonction qui me permettrait de détecter les balises, existe t-il une fonction qui pourrait s'en charger ? Avec par exemple des caractères délimiteurs à prédéfinir.

Merci !
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 14h29   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

pour faire ceci, il faut utiliser preg_replace :

Code php :
1
2
3
4
$chaine = 'chaine avec du bbcode';
 
echo preg_replace('#\[b\]([^\[]*)\[\/b\]#', "<b>$1</b>", $chaine);

Je t'invite à regarder la doc sur preg_replace

EDIT: le bbcode a été interprété dans mon exemple désolé
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/11/2010, 14h33   #3
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
http://php.developpez.com/sources/?p...exp#bbcodebase Hmm ?
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 09h23   #4
Membre régulier
 
Inscription : octobre 2010
Messages : 252
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 252
Points : 92
Points : 92
Citation:
Envoyé par Madfrix Voir le message
Bonjour,

pour faire ceci, il faut utiliser preg_replace :

Code php :
1
2
3
4
$chaine = 'chaine avec du bbcode';
 
echo preg_replace('#\[b\]([^\[]*)\[\/b\]#', "<b>$1</b>", $chaine);

Je t'invite à regarder la doc sur preg_replace

EDIT: le bbcode a été interprété dans mon exemple désolé
C'est exactement ce qu'il me fallait ! Merci.
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h12.


 
 
 
 
Partenaires

Hébergement Web