|
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
meo html mioche
|
bbCodes , Posté le: 03-05-2009 16:29 |
|
|
Bonjour,
Alors, j'ai déjà un peu cherché sur le net et dans les forums j'avoue ne pas comprendre grand chose encore au javascript
Donc j'ai honteusement piqué un code que j'ai réussi à appliquer à mes fichiers. Mais il me reste un problème.
Ce code permet d'insérer des balises bbcodes dans une zone de texte. Tout fonctionne sauf qu'elle s'insèrent automatiquement en fin de ligne... Impossible de sélectionner un texte déjà tapé et d'y appliquer la balise (de l'encadrer donc). Du moins sous FF, à priori sous IE ça fonctionne.
Vu le code, je suppose que ça se joue au niveau de la fonction "AddText" ? Mais j'y vais un peu à l'arrache, en disant ça.
Toujours est-il que j'ai trop la trouille pour tripatouiller là dedans
Je vous mets les codes, si jamais vous avez une idée, je suis preneuse !
Script de la page de formulaire :
Code: |
<script language="javascript" type="text/javascript">
function AddText(startTag,defaultText,endTag)
{
with(document.poster)
{
if (text_ref.createTextRange)
{
var text;
text_ref.focus(text_ref.caretPos);
text_ref.caretPos = document.selection.createRange().duplicate();
if(text_ref.caretPos.text.length>0)
{
//gère les espace de fin de sélection. Un double-click sélectionne le mot
//+ un espace qu'on ne souhaite pas forcément...
var sel = text_ref.caretPos.text;
var fin = '';
while(sel.substring(sel.length-1, sel.length)==' ')
{
sel = sel.substring(0, sel.length-1)
fin += ' ';
}
text_ref.caretPos.text = startTag + sel + endTag + fin;
}
else
text_ref.caretPos.text = startTag+defaultText+endTag;
}
else text_ref.value += startTag+defaultText+endTag;
}
}
</script> |
Exemple de balise à insérer :
Code: |
<a href="javascript:AddText('[b]','','[/b]');" alt="Mettre le texte en gras"><img src="gras_text.png" alt="Mettre le texte en gras"></a> |
Fichier fonction.php
Code: |
<?php
function bbCode($t)
// remplace les balises BBCode par des balises HTML
{
// barre horizontale
$t=str_replace("[/]", "<hr width=\"100%\" size=\"1\" />", $t);
$t=str_replace("[hr]", "<hr width=\"100%\" size=\"1\" />", $t);
// gras
$t=str_replace("[b]", "<strong>", $t);
$t=str_replace("[/b]", "</strong>", $t);
// smileys
$t=str_replace(":s", "<img src=\"images_forums/icon_confused.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace(":(", "<img src=\"images_forums/icon_cry.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace(":o", "<img src=\"images_forums/icon_surprised.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace(":!", "<img src=\"images_forums/icon_eek.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace(":@", "<img src=\"images_forums/icon_evil.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace("8)", "<img src=\"images_forums/icon_rolleyes.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace(";)", "<img src=\"images_forums/icon_wink.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace("lol", "<img src=\"images_forums/lol.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace("[na!]", "<img src=\"images_forums/na.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace("[bug]", "<img src=\"images_forums/bug.gif\" alt=\"\" border=\"0\" />", $t);
$t=str_replace("[colere]", "<img src=\"images_forums/colere.gif\" alt=\"\" border=\"0\" />", $t);
// italique
$t=str_replace("[i]", "<em>", $t);
$t=str_replace("[/i]", "</em>", $t);
// soulignement
$t=str_replace("[u]", "<u>", $t);
$t=str_replace("[/u]", "</u>", $t);
// alignement gauche
$t=str_replace("[left]", "<p style=\"text-align: left\">", $t);
$t=str_replace("[/left]", "</p>", $t);
// alignement centré
$t=str_replace("[center]", "<p style=\"text-align: center\">", $t);
$t=str_replace("[/center]", "</p>", $t);
// alignement à droite
$t=str_replace("[right]", "<p style=\"text-align: right\">", $t);
$t=str_replace("[/right]", "</p>", $t);
// alignement justifié
$t=str_replace("[justify]", "<p style=\"text-align: justify\">", $t);
$t=str_replace("[/justify]", "</p>", $t);
// couleur
$t=str_replace("[/color]", "</span>", $t);
$regCouleur="\[color= ?(([[:alpha:]]+)|(#[[:digit:][:alpha:]]{6})) ?\]";
$t=ereg_replace($regCouleur, "<span style=\"color: \\1\">", $t);
// taille des caractères
$t=str_replace("[/size]", "</span>", $t);
$regCouleur="\[size= ?([[:digit:]]+) ?\]";
$t=ereg_replace($regCouleur, "<span style=\"font-size: \\1px\">", $t);
// lien
$regLienSimple="\[url\] ?([^\[]*) ?\[/url\]";
$regLienEtendu="\[url ?=([^\[]*) ?] ?([^]]*) ?\[/url\]";
$regLienEtenduSansred="\[durl ?=([^\[]*) ?] ?([^]]*) ?\[/durl\]";
if (ereg($regLienSimple, $t)) $t=ereg_replace($regLienSimple, "<a href=\"\\1\" target=\"_blank\">\\1</a>", $t);
else if (ereg($regLienEtendu, $t)) $t=ereg_replace($regLienEtendu, "<a href=\"\\1\" target=\"_blank\">\\2</a>", $t);
else $t=ereg_replace($regLienEtenduSansred, "<a href=\"\\1\">\\2</a>", $t);
// image
$regImage="\[img\] ?([^\[]*) ?\[/img\]";
$regImageAlternatif="\[img ?= ?([^\[]*) ?\]";
if (ereg($regImage, $t)) $t=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t);
else $t=ereg_replace($regImageAlternatif, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t);
return $t;
}
function StripHTML ($sString) {
return preg_replace ('@<[\/\!]*?[^<>]*?>@si', '', $sString);
}
?>
|
Un truc qui marche aussi bien que sur ce forum, ce serait top
Merci |
|
|
meo html mioche
|
bbCodes , Posté le: 06-05-2009 10:21 |
|
|
Hello
Bon, du coup j'ai trouvé une solution toute seule
En cherchant encore un peu plus...
http://www.editeurjavascript.com/scripts/scripts_formulaires_3_318.php [http://www.editeurjavascript.com/scripts/scripts_formulaires_3_318.php]
Voilà voilà
A+ |
|
|
referencement expert dreamweaver mioche
|
bbCodes , Posté le: 12-05-2009 8:54 |
|
|
Google est ton meilleur amis !
Après la communauté de salemioche bien sur ! |
|
|
|
|
S'enregistrer
Profil
Se connecter pour vérifier ses messages privés
Rechercher
Membres
FAQ
Connexion
|