Insertion automatique de texte dans un champ de texte.

Ang3lo Messages postés 43 Date d'inscription samedi 4 décembre 2004 Statut Membre Dernière intervention 4 avril 2007 - 5 févr. 2005 à 13:34
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 6 févr. 2005 à 10:28
Salut,

J'aimerais savoir comment peut-on inserer du texte dans un champ de texte automatiquement, juste en cliquant sur un bouton, à la manière des forums PhpBB ?

Exemple :
Je tape mon text et je veut le mettre en gras.
Je clique sur un bouton et ça me rajoute une balise "[b]" dans mon texte.

Comment coder quelques chose comme ça ?

Merci

9 réponses

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
5 févr. 2005 à 14:23
Salut,

Il s'agit du javascript, mais aussi du php (à l'interpretation du texte).

Je peut te conseiller d'aller faire un tour sur www.javascriptfr.com

Pour ton interpretation des balises BB, un petit code par exemple :


$msg=  stripslashes($msg);


$msg = str_replace("[hr]","<hr align="center" width="94%" size="1">","$msg");


$msg=preg_replace("/\[mail\](.*?)\[\/mail\]/","\\1",$msg);


$msg=preg_replace("/\[img\](.*?)\[\/img\]/","",$msg);


$msg=preg_replace("/\[b\](.*?)\[\/b\]/si"," \\1 ",$msg);


$msg =preg_replace("/\[i\](.*?)\[\/i\]/si"," \\1 ",$msg);


$msg =preg_replace("/\[u\](.*?)\[\/u\]/si","\\1",$msg);


$msg=preg_replace("/\[code\](.*?)\[\/code\]/si","<code>\\1
",$msg);


$msg=preg_replace("/\[quote\](.*?)\[\/quote\]/si","<HR>\\1<HR>",$msg);
</code>

Ce code reste encore trés basique, pense à faire une petite recherche sur phpcs coté 'chaine de caractére' j'en avais trouver 3 ou 4.

-- Pensez à faire des recherches avant de posser vos questions sur le forum, et merci d'eviter le S.M.S. ont est pas sur 06phpcs.com ici --
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
5 févr. 2005 à 16:29
function htmlise($var){
$var = str_replace("<", "<", $var);
$var = str_replace(">", ">", $var);
$var = ereg_replace("[\]", "", $var);
$var2='';
$link=0;
for ($i=0;$i<strlen($var);$i++){
if (substr($var,$i,7)=='http://' && $link==0){
$var2=$var2.''.$var3.'';
$var3='';
}else{
$var3=$var3.substr($var,$i,1);
}
}
$var2=$var2.substr($var,$i,1);
}
$var=$var2;
$remplaceur=array("___","===","+++");
$htmlbalises= array(" "," "," "," ");
$rendu =array(3);
for ($i=0;$i<3;$i++){
$rendu[$i]=0;
}
for ($i=0;$i<strlen($var)-2;$i++){
for ($j=0;$j<3;$j++){
if (substr($var,$i,3)==$remplaceur[$j]){
$rendu[$j]++;
if ($rendu[$j]%2==1){
$replace=$htmlbalises[$j];
}else{
$replace=$htmlbalises[$j+3];
}
$var=substr($var,0,$i).$replace.substr($var,$i+3,strlen($var)-$i-3);
}
}
}
$var=addslashes($var);
$var=nl2br($var);
return($var);
}




Moi j'ai fait ça comme fonction, et ça marche très bien



In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
5 févr. 2005 à 16:30
function htmlise($var){
$var = str_replace("<", "<", $var);
$var = str_replace(">", ">", $var);
$var = ereg_replace("[\]", "", $var);
$var2='';
$link=0;
for ($i=0;$i<strlen($var);$i++){
if (substr($var,$i,7)=='http://' && $link==0){
$var2=$var2.''.$var3.'';
$var3='';
}else{
$var3=$var3.substr($var,$i,1);
}
}
$var2=$var2.substr($var,$i,1);
}
$var=$var2;
$remplaceur=array("___","===","+++");
$htmlbalises= array(" "," "," "," ");
$rendu =array(3);
for ($i=0;$i<3;$i++){
$rendu[$i]=0;
}
for ($i=0;$i<strlen($var)-2;$i++){
for ($j=0;$j<3;$j++){
if (substr($var,$i,3)==$remplaceur[$j]){
$rendu[$j]++;
if ($rendu[$j]%2==1){
$replace=$htmlbalises[$j];
}else{
$replace=$htmlbalises[$j+3];
}
$var=substr($var,0,$i).$replace.substr($var,$i+3,strlen($var)-$i-3);
}
}
}
$var=addslashes($var);
$var=nl2br($var);
return($var);
}
Moi j'ai fait ça comme fonction et ça marche très bien... (mais ce forum la déconne particulièrement...)
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
5 févr. 2005 à 16:31
Putain mais j'en ai marre de ce forum de merde!!!
Bon si tu veux une fonction qui converti les URLS j'en ai une pour toi...
http://coucou747.hopto.org
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
5 févr. 2005 à 19:44
Salut,



supposons que ton champ (ta textarea) porte le nom de "textcommentaire", voici le code javascript :



function storeCaret (texte)

{

if (texte.createTextRange)

texte.caretPos = document.selection.createRange().duplicate();

}

var frm=document.formulaire.textecommentaire;

var texte=frm.value;

function Insert(texte)

{

if (frm.createTextRange && frm.caretPos)

{

var caretPos = frm.caretPos;


caretPos.text caretPos.text.charAt(caretPos.text.length - 1) ' ' ? texte + ' ' :
texte;

}

else

{

document.formulaire.textecommentaire.value = frm.value + texte;

}

}

function gras()

{

msg=prompt("Mettre un texte en gras.\nUtilisation : Texte à mettre en gras ","");

if(msg! =null)

{

donnee=""+msg+"";

Insert(donnee);

}

}



lorsque tu cliques sur l'image permettant de mettre le texte en gras,
le lien est du style : [javascript:gras() mettre en
gras].



Bon c'est fait à l'arrache mais essaies ça devrait marcher.



a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
5 févr. 2005 à 19:45
Et le code PHP :



$textecommentaire=htmlentities($_POST['textecommentaire']);



$textecommentaire=preg_replace('`\[b\](.+?)\/b\`sim','$1',$textecommentaire);



a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
Ang3lo Messages postés 43 Date d'inscription samedi 4 décembre 2004 Statut Membre Dernière intervention 4 avril 2007
5 févr. 2005 à 19:55
Excuse moi (je suis un débutant ) mais ou mettre tout ça et le 2ème code sert à quoi ?

Mais merci pour tes réponces.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
5 févr. 2005 à 20:15
Bah on va pas tout pondre non plus, je veux bien aider les débutants
mais j'ai aussi besoin de coder et donc mon temps est limité...



Cherche un peu...



a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
6 févr. 2005 à 10:28
mon code à moi permet de metre les http://... en liens



In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0