Ajouter fonction qui modifie BBCode en HTML
MyBnJmN
Messages postés
1
Statut
Membre
-
NookZ Messages postés 2376 Statut Membre -
NookZ Messages postés 2376 Statut Membre -
Bonjour,
Mon problème est le suivant :
J'ai une page qui me permet de poster une news sur ma base de donnée.
J'ai un petit script pour faire du BBCode et à coté je peux le prévisualiser
J'enregistre donc le contenu au format BBCode dans la base de donnée mais j'aimerai l'afficher en HTML (comme sur ma prévisualisation) sur la page HOME qui contient les news.
J'ai choisi de stocker au format BBCode pour éviter de reconvertir lorsque je dois faire une modification.
Voici mon code de la page HOME qui va chercher les news dans la base de donnée pour les affiché
J'aimerai savoir comment ajouter la fonction javascript du prévisualisateur dans ma page PHP pour que le code BBCode soit modifier en HTML.
HOME.PHP
----------------
<?
function changedateusenfr($dateus) /* Fonction qui modifie l'affichage de la date stockée dans la BD au format initial AAAA-MM-JJ en un format plus adapté, soit JJ.MM.AA */
{
$datefr=$dateus{8}.$dateus{9}.".".$dateus{5}.$dateus{6}.".".$dateus{2}.$dateus{3};
return $datefr;
}
include("connect_bdd/seepaknet.php");
$donnees = mysql_query("SELECT * FROM news ORDER BY date_news DESC");
while($array = mysql_fetch_array($donnees))
{
$datefr=changedateusenfr($array['date_news']);
?>
<div class="news_titre"><? echo $array['titre_news'];?></div>
<div class="news_date"><i><? echo $datefr;?></i></div><br/>
<div class="news_corps"><? echo nl2br($array['text_news']);?></div><br/><br/><?
}
mysql_close();
?>
--------------
FONCTION JAVASCRIPT (surement à modifier je l'ai prise du preview)
-------
function preview(Name) {
var q1 = "<table align=center border=0 cellpadding=3 cellspacing=1 width=90%><tbody><tr><td><div align=\"left\" style=\"font-size : 11px; color: #000000;\"><b>";
var q2 = "</b></div></td></tr><tr><td align=\"left\" style=\"font-family: Arial; font-size: 11px; color: #444444; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-width: 1px;\">";
var q3 = "</td></tr></tbody></table>";
var texte = document.getElementById(Name).value;
texte=texte.replace(/</g, '<');
texte=texte.replace(/>/g, '>');
texte=texte.replace(/\r\n|\r|\n/g, '<br />');
texte=texte.replace(/\[(b|u|s|i|\/b|\/u|\/s|\/i)]/g,'<$1>');
texte=texte.replace(/\[color=([^\[]*)\]/mig, '<span style=\'color:$1;\'>');
texte=texte.replace(/\[bgcolor=([^\[]*)\]/mig, '<span style=\'background-color:$1;\'>');
texte=texte.replace(/\[font=([^\[]*)\]/mig, '<span style=\'font-family:$1;\'>');
texte=texte.replace(/\[size=([^\[]*)\]/mig, '<span style=\'font-size:$1;\'>');
texte=texte.replace(/\[\/(color|bgcolor|font|size)\]/gi,'</span>');
texte=texte.replace(/\[align=([^\[]*)\]/mig, '<div style=\'text-align:$1;\'>');
texte=texte.replace(/\[\/align]/gi, '</div>');
texte=texte.replace(/\[code]/gi, '<div align="left" style="color:#000000;font-weight:bold; font-size: 11px;">Code :</div><div style="color:#333333;background-color:#F0F0F0;" align="left"><code lang="fr">');
texte=texte.replace(/\[\/code]/gi, '</code></div>');
texte=texte.replace(/\[quote]/gi, q1+'Citation:'+q2);
texte=texte.replace(/\[quote=([^\[]*)\]/gi, q1+'$1 a écrit :'+q2);
texte=texte.replace(/\[\/quote]/gi, q3);
texte=texte.replace(/\[url]([^\]]*)\[\/url]/mig,'<a href="$1" target="_blank">$1</a>');
texte=texte.replace(/\[url=([^\[]*)\]([^\]]*)\[\/url\]/mig, '<a href=\'$1\' target=\'_blank\'>$2</a>');
texte=texte.replace(/\[mail]([^\[]*)\[\/mail]/mig,'<a href="mailto:$1" target="_blank">$1</a>');
texte=texte.replace(/\[mail=([^\[]*)\]([^\]]*)\[\/mail\]/mig, '<a href=\'mailto:$1\' target=\'_blank\'>$2</a>');
texte=texte.replace(/\[img]([^\]]*)\[\/img]/mig,'<img src="$1" border="0" />');
texte=texte.replace(/\[list=([^\]]*)\](.+)\[\/list]/mig, '<ul type="$1">$2</ul>');
texte=texte.replace(/\[\*]([^\[]+)(?=(\[\*])|(<\/ul>))/mig, '<li>$1</li>');
texte=texte.replace(/\<br \/><\/ul>/gi, '</ul>');
texte=texte.replace(/<\/ul><br \/>/gi, '</ul>');
texte=texte.replace(/<div([^\>]*)><br \/>/gi, '<div $1>');
texte=texte.replace(/<\/div><br \/>/gi, '</div>');
texte=texte.replace(/<span([^\>]*)><br \/>/gi, '<span $1>');
texte=texte.replace(/(<\/span><br \/>|<br \/><\/span><br \/>|<br \/><\/span>)/gi, '</span>');
texte=texte.replace(/<td([^\>]*)><br \/>/gi, '<td $1>');
texte=texte.replace(/<\/table><br \/>/gi, '</table>');
texte=texte.replace(/<code([^\>]*)><br \/>/gi, '<code $1>');
texte=texte.replace(/(<\/code><br \/>|<br \/><\/code>|<br \/><\/code><br \/>)/gi, '</code>');
document.getElementById('Prev_'+Name).innerHTML = '<div class="bgpreview"><div class="preview">'+texte+'</div></div>';
return (texte);
}
----
Mon problème est le suivant :
J'ai une page qui me permet de poster une news sur ma base de donnée.
J'ai un petit script pour faire du BBCode et à coté je peux le prévisualiser
J'enregistre donc le contenu au format BBCode dans la base de donnée mais j'aimerai l'afficher en HTML (comme sur ma prévisualisation) sur la page HOME qui contient les news.
J'ai choisi de stocker au format BBCode pour éviter de reconvertir lorsque je dois faire une modification.
Voici mon code de la page HOME qui va chercher les news dans la base de donnée pour les affiché
J'aimerai savoir comment ajouter la fonction javascript du prévisualisateur dans ma page PHP pour que le code BBCode soit modifier en HTML.
HOME.PHP
----------------
<?
function changedateusenfr($dateus) /* Fonction qui modifie l'affichage de la date stockée dans la BD au format initial AAAA-MM-JJ en un format plus adapté, soit JJ.MM.AA */
{
$datefr=$dateus{8}.$dateus{9}.".".$dateus{5}.$dateus{6}.".".$dateus{2}.$dateus{3};
return $datefr;
}
include("connect_bdd/seepaknet.php");
$donnees = mysql_query("SELECT * FROM news ORDER BY date_news DESC");
while($array = mysql_fetch_array($donnees))
{
$datefr=changedateusenfr($array['date_news']);
?>
<div class="news_titre"><? echo $array['titre_news'];?></div>
<div class="news_date"><i><? echo $datefr;?></i></div><br/>
<div class="news_corps"><? echo nl2br($array['text_news']);?></div><br/><br/><?
}
mysql_close();
?>
--------------
FONCTION JAVASCRIPT (surement à modifier je l'ai prise du preview)
-------
function preview(Name) {
var q1 = "<table align=center border=0 cellpadding=3 cellspacing=1 width=90%><tbody><tr><td><div align=\"left\" style=\"font-size : 11px; color: #000000;\"><b>";
var q2 = "</b></div></td></tr><tr><td align=\"left\" style=\"font-family: Arial; font-size: 11px; color: #444444; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-width: 1px;\">";
var q3 = "</td></tr></tbody></table>";
var texte = document.getElementById(Name).value;
texte=texte.replace(/</g, '<');
texte=texte.replace(/>/g, '>');
texte=texte.replace(/\r\n|\r|\n/g, '<br />');
texte=texte.replace(/\[(b|u|s|i|\/b|\/u|\/s|\/i)]/g,'<$1>');
texte=texte.replace(/\[color=([^\[]*)\]/mig, '<span style=\'color:$1;\'>');
texte=texte.replace(/\[bgcolor=([^\[]*)\]/mig, '<span style=\'background-color:$1;\'>');
texte=texte.replace(/\[font=([^\[]*)\]/mig, '<span style=\'font-family:$1;\'>');
texte=texte.replace(/\[size=([^\[]*)\]/mig, '<span style=\'font-size:$1;\'>');
texte=texte.replace(/\[\/(color|bgcolor|font|size)\]/gi,'</span>');
texte=texte.replace(/\[align=([^\[]*)\]/mig, '<div style=\'text-align:$1;\'>');
texte=texte.replace(/\[\/align]/gi, '</div>');
texte=texte.replace(/\[code]/gi, '<div align="left" style="color:#000000;font-weight:bold; font-size: 11px;">Code :</div><div style="color:#333333;background-color:#F0F0F0;" align="left"><code lang="fr">');
texte=texte.replace(/\[\/code]/gi, '</code></div>');
texte=texte.replace(/\[quote]/gi, q1+'Citation:'+q2);
texte=texte.replace(/\[quote=([^\[]*)\]/gi, q1+'$1 a écrit :'+q2);
texte=texte.replace(/\[\/quote]/gi, q3);
texte=texte.replace(/\[url]([^\]]*)\[\/url]/mig,'<a href="$1" target="_blank">$1</a>');
texte=texte.replace(/\[url=([^\[]*)\]([^\]]*)\[\/url\]/mig, '<a href=\'$1\' target=\'_blank\'>$2</a>');
texte=texte.replace(/\[mail]([^\[]*)\[\/mail]/mig,'<a href="mailto:$1" target="_blank">$1</a>');
texte=texte.replace(/\[mail=([^\[]*)\]([^\]]*)\[\/mail\]/mig, '<a href=\'mailto:$1\' target=\'_blank\'>$2</a>');
texte=texte.replace(/\[img]([^\]]*)\[\/img]/mig,'<img src="$1" border="0" />');
texte=texte.replace(/\[list=([^\]]*)\](.+)\[\/list]/mig, '<ul type="$1">$2</ul>');
texte=texte.replace(/\[\*]([^\[]+)(?=(\[\*])|(<\/ul>))/mig, '<li>$1</li>');
texte=texte.replace(/\<br \/><\/ul>/gi, '</ul>');
texte=texte.replace(/<\/ul><br \/>/gi, '</ul>');
texte=texte.replace(/<div([^\>]*)><br \/>/gi, '<div $1>');
texte=texte.replace(/<\/div><br \/>/gi, '</div>');
texte=texte.replace(/<span([^\>]*)><br \/>/gi, '<span $1>');
texte=texte.replace(/(<\/span><br \/>|<br \/><\/span><br \/>|<br \/><\/span>)/gi, '</span>');
texte=texte.replace(/<td([^\>]*)><br \/>/gi, '<td $1>');
texte=texte.replace(/<\/table><br \/>/gi, '</table>');
texte=texte.replace(/<code([^\>]*)><br \/>/gi, '<code $1>');
texte=texte.replace(/(<\/code><br \/>|<br \/><\/code>|<br \/><\/code><br \/>)/gi, '</code>');
document.getElementById('Prev_'+Name).innerHTML = '<div class="bgpreview"><div class="preview">'+texte+'</div></div>';
return (texte);
}
----
A voir également:
- Ajouter fonction qui modifie BBCode en HTML
- Fonction si et - Guide
- Editeur html - Télécharger - HTML
- Ajouter liste déroulante excel - Guide
- Ajouter signature word - Guide
- Impossible d'ajouter un ami sur facebook - Guide
1 réponse
Bonjour,
Je ne comprend pas le problème. Vous avez déjà une fonction de prévisualisation fonctionnelle?
Si tel est le cas, je vous conseille de la stocker dans un fichier fonctions.js qui regroupera les fonctions que vous pensez réutiliser dans diverses pages de votre site.
Vous l'insérer ensuite ainsi dans les page voulues, en ajoutant dans le head :
<SCRIPT LANGUAGE="Javascript" SRC="fonctions.js"> </SCRIPT>
Je ne comprend pas le problème. Vous avez déjà une fonction de prévisualisation fonctionnelle?
Si tel est le cas, je vous conseille de la stocker dans un fichier fonctions.js qui regroupera les fonctions que vous pensez réutiliser dans diverses pages de votre site.
Vous l'insérer ensuite ainsi dans les page voulues, en ajoutant dans le head :
<SCRIPT LANGUAGE="Javascript" SRC="fonctions.js"> </SCRIPT>