begin process at 2012 05 30 12:54:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Création d'une fonction BB-Code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Création d'une fonction BB-Code

mardi 22 juin 2010 à 21:20:10 | Création d'une fonction BB-Code

Kronikerz


Hello à toutes et tous,

Aujourd'hui j'ai décidé de m'entrainer sur la création d'une fonction de choix, celle de la notation d'une chaîne BBCode en chaine HTML. Sans être absolument sûre que cela soit la meilleure façon de procéder.

En clair, je souhaite transformer cela
Code :
[b][/b]
en cela <b></b> (Facile hein ? )

ou encore ceci
Code :
[url='http://xxxxx.com']Site de ouf[/url]
en ceci <a href='http://code-source.com'>Site de ouf</a>

ou encore
Code :
[size=10]code-source[/size]
en <font size="10">xxxxx</font>

Les morceaux de BBCode autorisés étant:
[b]
[i]
[u]
[p]
[url]
[size]

Voilà déjà ce que j'ai commencé, mais dont je n'arrive pas à finir pour [url] et [size] :
Code PHP :
function bbCode($char, $contenu){
	$chars = explode("-", $char);
	for($i=0; $i<count($chars); $i++ ){
		$contenu = str_replace("[".$chars[$i]."]", "<".$chars[$i].">", $contenu); // [a] -> <a>
		$contenu = str_replace("[/".$chars[$i]."]", "</".$chars[$i].">", $contenu); // [/a] -> </a>
		
		if($chars[$i] == "size"){
			[size=9][/size]
			$contenu = str_replace("[/size]", "</font>", $contenu);
			
			$num = explode("[size=", $contenu);
			
			$contenu = str_replace("[size=".$num[1], "<font size=".$num[1], $contenu;
		}
	}
	return $contenu;
}


Pour ma part, sans me casser le c.., le cerveau ! j'utilise ma fonction de cette façon à l'aide d'un explode() au tout début. (A chacun son savoir!)

Code PHP :
bbCode("b-i-u-p-url-size", $contenu);


Cordialement,

-Kronikerz
samedi 26 juin 2010 à 18:41:18 | Re : Création d'une fonction BB-Code

mailliam

Tchô,

ce serait pas + simple de faire sous forme de tablo? je sais pas je me trompe peut etre, moi je ferais comme ca:

Code PHP :
$avant = array('[b]','[/b]','[size=10]');
$apres = array('<b>','</b>','<font size="10">');
$contenu = str_replace($avant,$apres,$contenu);


samedi 26 juin 2010 à 23:11:40 | Re : Création d'une fonction BB-Code

Kronikerz

Hello Mailliam,

Pas con ton idée, toute fois elle me déplait un petit peu.

Par ex. pour "size", cela signifie qu'il faut créer une nouvelle "size" pour chaque taille différente. Moi j'aurais voulu juste récupérer le chiffre entré puis le placer à son emplacement final.

Sinon je vais obtenir quelque chose du genre:
Code PHP :
$avant = array('[b]','[/b]','[size=10]', '[size=11]', '[size=12]', etc.);


Merci toute fois de ton aide, je le garde de coté au cas où.
dimanche 27 juin 2010 à 08:50:52 | Re : Création d'une fonction BB-Code

mailliam

ReTchô

Bin faut juste faire:
$avant = array('[size',']');
et $ apres$ = array('<font size','>');
comme ca, ca remplace [size=10] par <font size=10>

Il me semble nan? mais c'est vrai que ca me semble compliqué, y a surement + simple
dimanche 27 juin 2010 à 10:11:00 | Re : Création d'une fonction BB-Code

kohntark

Membre Club
Salut,

A mon avis tu n'emploies pas la bonne méthode.
Celle utilisée est trop simpliste, elle ne gère pas, par exemple, le contrôle de l'existence d'un tag d'ouverture ET de fermeture.
Attention également aux problèmes de sécurité : tel quel il doit être possible de faire un deface, voir même une redirection vers un autre site.

A voir peut être (jamais utilisé) :
http://fr.php.net/manual/en/intro.bbcode.php

Cordialement,

Kohntark -

dimanche 27 juin 2010 à 10:11:46 | Re : Création d'une fonction BB-Code

kohntark

Membre Club
Sinon il y a les regex.



Kohntark -



Cette discussion est classée dans : fonction, code, url, contenu, size


Répondre à ce message

Sujets en rapport avec ce message

Création d'une fonction BB-Code [ par Kronikerz ] Hello à toutes et tous, Aujourd'hui j'ai décidé de m'entrainer sur la création d'une fonction de choix, celle de la notation d'une chaîne BBCode en c URL rewriting PHP HTML et redirection [ par smed79 ] [b]Bonjour,[/b] [^^happy13] je cherche comment je remplace l'extension PHP avec HTML dans un URL et rediriger les liens .PHP vers les .HTML [b]note: Extraire les URL des images d'une page web [ par ranm ] Bonjour, Voilà, j'ai besoin d'un script qui me permette de renvoyer une image aléatoire à artir d'un mot-clé. Pour ça, je fais une recherche sur une Problème d'ouverture de popup [ par mimosa803 ] Bonjour, Je rencontre un problème très bizarre dont je n'ai pas compris la cause. En fait j'ouvre un popup en passant des variables dans l'URL. Quand Inclure une page html au lieu d'appeler la base SQL ! [ par kikifrance ] Salut et bien le bonjour ! Je souhaites inclure dans une page, admettons pomme.html, un contenu qui serait créé dans une page html ou php. Son conten php & ODBC construction de requête en fonction des variables [ par Razily ] Bonjour à tous ; mon stage évolue et là on me demande de créer des formulaires contenant des cases à cocher et des listes déroulantes et et de créer probleme de fonction fgetc [ par morgandetoi06 ] Maximum execution time of 30 seconds exceededsur cette ligne:$caractere=fgetc($fichier);voila le code au complet : if($fichier=fopen("test.txt","r")) Fonction PHP qui renvoi Un URL [ par moukit233 ] slt je suis un debutant avec php5 et zend framework ..je veux une fonction qui renvoi directement  var/www/baseUrl() pour charger une vignette merci d problème d'upload de fichier [ par lilj ] bonjour, voila je ne comprend pas pourquoi mon browser affiche undefined index aprés avoir envoyé une fichier !! voici mon code : mon form : [code=htm récuperation d'une variable php en javascript [ par gillardg ] Bonjour, j'ai un petit script de redirection avec compteur sur la page, je voudrais lui passer les variables mais je n'arrive pas à les récuperer en


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,430 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales