Javascript

Statut
N'est pas ouverte pour d'autres réponses.

aKC1a

OldSchool CS Star
est ce que kkun aurait en stock un javascript pour insérer une sorte de tableau style bbcode .

je m'explik avoir les btn [.b] [.u] ...
comme si dessus.
en rapport avec un formulaire.

G chopper kkchoz et transformé selon mes besoins mais ca marche pas :-(
ca ne m'interp^rete pas :-( -> si ds le form g [.b]akcia[./b]
et bien au lieu de m'ecrire akcia en gras il m'ecrit [.b]akcia[./b] (ss les point hein ;) ;) )

Code:
<script language="Javascript">
var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaret(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['form1'].elements['content'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['form1'].elements['content'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			//placer(document.forms['form1'].elements['content'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

</script>
et mon form

Code:
<form name="form1" method="post" action="write_news.php">
    Titre<br><textarea name="title" rows=5 cols=50></textarea><br><br>
	Week - 	<input name="week" type="text"><br><br>
	Source - <input name="source" type="text"><br><br>
	Resume<br><textarea name="resume" rows=10 cols=65></textarea><br><br>
	News<br>
	<input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret('b')">
<input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret('i')">
<input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret('u')">
<input type="button" value="quote"style="width:50px" onclick="storeCaret('quote')">
<input type="button" value="code"style="width:50px" onclick="storeCaret('code')">
<input type="button" value="url"style="width:50px" onclick="storeCaret('url')">
<input type="button" value="img"style="width:50px" onclick="storeCaret('img')"><br>
<textarea name="content" id="content" rows=25  wrap="virtual"cols=100></textarea><br><br>
	<input type="submit" name="submit" value="- Ajouter -">
    </form>
en fait g surement fait une erreur en retapant le code et en l'adaptant :-(

Merci
 

null

ose();
Si tu le gères via Javascript sans script serveur, fait un remplacement des "[" par "<" et "]" par ">", comme ça : [.b]x[./b] donnera "<b>x</b>" et vu que c'est du HTML, plus de prob :)
 

WaKaaN

JcQL
c ca ou po ? aKC1a ?
 
1er
OP
aKC1a

aKC1a

OldSchool CS Star
null a dit:
Si tu le gères via Javascript sans script serveur, fait un remplacement des "[" par "<" et "]" par ">", comme ça : [.b]x[./b] donnera "<b>x</b>" et vu que c'est du HTML, plus de prob :)
c'est ce que j'ai fait
mais pour l'url ?
que puis je faire
?

<url>www.google.Fr</url> ca ne va pas donner gchoz :)
 
S

Serius

ex membre
tromper
 

null

ose();
Ha, alors vérifie la présence de la balis "<url>" et si c'est le cas, tu fais : "<a href='URL'>URL</a>" mais je ne sais pas t'aider sur la résolution :oops:
 

MbK_

Etudjant
tu cherche avec une regex la valeur "www." dans une string et tu fais comme null a dit.

avec preg_replace() comme fonction
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut