Insertion automatique de texte dans un champ de texte.

Signaler
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
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

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
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 --
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

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.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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