Rechercher : dans
Par :

[Javascript] Regex BBCode to HTML

Dernière réponse le 5 nov 2008 à 17:05:44 Dinheru, le 10 jui 2007 à 15:19:23 
 Signaler ce message aux modérateurs

Salut !

Alors voila j'aimerais faire une fonction qui traduit du 'BBCode' en HTML.

Pour le faire j'ai une fonction de la forme :

function BBcodeTranslate(texte)
	{
		table = ["div","table","tr","td","span"];
		for(i=0;i<length(table);i++)
		{
			texte = ;
			regex = '/\['+table[i]+'\w\]';
			texte=texte.replace(regex,"<"+table[i]+" "+texte+">");
		}
	}


Et j'aimerais pouvoir mettre dans ma variable texte l'éventuelle texte qu'il pourait y avoir dans mes balise.
Je m'explique :

- Si j'ai ça [div]coucou[/div] je veux <div>coucou</div> en sortie
- Si j'ai ça [div weight="200px]coucou[/coucou] j'aimerais avoir ça <div weight="200px>coucou</div>

Donc comment faire pour récupérer le weight="200px" dans ma varaible texte ? ( ou tout autre forme de style ! )

Merci d'avance. Mar-plij ur chopinad bier melen !!
Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « [Javascript] Regex BBCode to HTML » dans :
Javascript - Interdire le clic droit de la souris VoirIl est possible d'empêcher que votre visiteur effectue un clic droit sur votre page. Ceci permet une protection relative de vote code source et de vos photos. Placez ce script entre les balises et de votre code HTML :
Javascript - Date de dernière modification de la page VoirIl est possible, en langage Javascript, d'afficher la date de dernière modification de la page Web grâce à la propriété lastModified de l'objet document :
[FreeMind] Publier une mindmap dans une page web VoirFreeMind est un logiciel de mindmapping. Vous avez plusieurs possibilités pour publier votre mindmap dans une page web. Flash applet Java Simple image PNG HTML+Javascript (texte seulement) HTML+Javascript (texte+icônes) HTML+Javascript...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Javascript - L'objet RegExp VoirLes particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...

1

Reivax962, le 10 jui 2007 à 17:21:44
  • +1

Bonjour,

Je te propose une expression rationnelle plus complète, qui aura en plus l'avantage de vérifier que la balise ouvrante est bien fermée plus loin.

regex = '/\['+table[i]+'( .*)\](.*)\[\/'+table[i]\]/';
Explications : les parenthèses () permettent de mettre en mémoire le bloc en question, dans les variables RegExp.$1, RegExp.$2, etc. (dans l'ordre des parenthèses). Dans un replace, ces variables sont récupérables en mettant simplement $1, $2, ...
Je précise quand même que j'ai écrit cette expression rationnelle sans la tester, donc il y aura peut-être quelques ajustements à faire, mais le principe est là.

Donc, si tu as bien suivi, ton code devient :
function BBcodeTranslate(texte)
{
	table = ["div","table","tr","td","span"];
	for(i=0;i<length(table);i++)
	{
		regex = '/\['+table[i]+'( .*)\](.*)\[\/'+table[i]\]/';
		texte=texte.replace(regex, "<"+table[i]+"$1>$2</"+table[i]+">");
	}
}


Voilà !

Xavier

Répondre à Reivax962

2

Dinheru, le 11 jui 2007 à 09:42:39
  • +1

Merci a toi ça marche avec quelque modif ! Mar-plij ur chopinad bier melen !!

Répondre à Dinheru

3

 test, le 5 nov 2008 à 17:05:44

Merci et c'est quoi ces "quelques modifs" .... ... .... ....

Répondre à test