Réponse acceptée !
Voila j'ai trouve ma reponce sur le web.
Code de la page formulaire:
<html>
<head>
<title>Ajouter du texte au milieu d'un textarea</title>
</head>
<body>
<form name="poster" method="post" action="post.php" onSubmit="">
<p>Mise en forme du texte :
<a href="javascript:AddText('[url=URL]','text','[/url]');">URL</a>
| <a href="javascript:AddText('[email=email@email.fr]','text','[/email]');">Email</a>
| <a href="javascript:AddText('[b]','Texte en gras','[/b]');">Gras</a>
| <a href="javascript:AddText('[i]','Texte en italique','[/i]');">Italique</a>
| <a href="javascript:AddText('[u]','Texte souligné','[/u]');">Souligné</a>...
<br>
Smileys :
<a href="javascript:AddText('',':)','');">Content</a>
| <a href="javascript:AddText('',':(','');">Pas content</a>
| <a href="javascript:AddText('','8o)','');">Faire le clown</a>
| <a href="javascript:AddText('',';-D','');">LOL</a>...
</p>
<script language="JavaScript" type="text/javascript">
function storeCaret(text)
{ // voided
}
function AddText(startTag,defaultText,endTag)
{
if (document.poster.message.createTextRange)
{
var text;
document.poster.message.focus(document.poster.message.caretPos);
document.poster.message.caretPos = document.selection.createRange().duplicate();
if(document.poster.message.caretPos.text.length>0)
{
document.poster.message.caretPos.text = startTag + document.poster.message.caretPos.text + endTag;
}
else
{
document.poster.message.caretPos.text = startTag+defaultText+endTag;
}
}
else document.poster.message.value += startTag+defaultText+endTag;
}
</script>
<textarea rows="8" cols="30" name="message" wrap="virtual" onmouseover="this.focus();" onkeyup="javascript:storeCaret(this);" onclick="javascript:storeCaret(this);" onchange="javascript:storeCaret(this);"></textarea>
<br>
<input type="submit" name="soumettre" value="envoyer">
</form>
</body>
</html>
Code de la page pour observer les modification:
<?
$message = addslashes($_POST['message']);
// balise b >> Gras
$message = str_replace("[b]", "<b>", $message);
$message = str_replace("[/b]", "</b>", $message);
// balise i >> italique
$message = str_replace("[i]", "<em>", $message);
$message = str_replace("[/i]", "</em>", $message);
// balise u >> suligner
$message = str_replace("[u]", "<u>", $message);
$message = str_replace("[/u]", "</u>", $message);
// balise email >> email
$message = str_replace("[email=","<a href=\"mailto: $message\"", $message);
$message = str_replace("]",">", $message);
$message = str_replace("[/email]", "</a>", $message);
// balise url >> lien
$message = str_replace("[url=]", "<a href=\"$message\">", $message);
$message = str_replace("[/url]", "</a>", $message);
echo $message ;
?>
Je ne sais pas comment faire pour que mes mails et urls ce change.
// balise email >> email
$message = str_replace("[email=","<a href=\"mailto: $message\"", $message);
$message = str_replace("]",">", $message);
$message = str_replace("[/email]", "</a>", $message);
// balise url >> lien
$message = str_replace("[url=]", "<a href=\"$message\">", $message);
$message = str_replace("[/url]", "</a>", $message);
Ce morceau de code ne passe pas :s
.#BlaZed 