30

non y'a que ca (bis)
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

31

ok, ben dans ce cas la, je ferais juste la verif suivante :

tout comme tu vérifies qu'il n'y a pa cross, vérifie egalement qu'il y a autant de balise d'ouverture que de balise de fermeture...

si le nombre est différent, t'affiches une alerte "vous avez ouvert des balises de mise en forme que vous n'avez pas fermé. Merci de corriger ceci avant de poster votre réponse", et tu empeche le submit.

comme ca, tu ne vérifie que du côté client, et ca ne ralenti en rien la génération.

si tu veux, je te fais la fonction correspondante.
Ancien pseudo : lolo

32

tu sais je peux les rajouter automatiquement à la fin du post aussi ^^

mais #flemme#

apres si tu veux tu peux me faire la fonction qui genere le string avec les balises a fermer jveux bien ^^

jte donne meme les balises impactées :

b,i,u,s,sup,sub,li,ul,code et em
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

33

em confus
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

34

juste pour savoir :

en miniscule, ca marche, mais en majuscule ?

[B]en gras[/B] ?

ok, [ B ] marche, c'était pour être sur

au fait, la fonction, tu la veux en JS ou en PHP ?
Ancien pseudo : lolo

35

php ^^

xi: oui [ em ] cheeky
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

36

Oui mais c'est quoi, em ? Ça diffère en quoi de i ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

37

pareil que <i> et <em> trioui
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

38

Super, je suis renseigné, je vais lire la faq tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

39

yAro (./35) :
php ^^

xi: oui [ em ] cheeky


okesh, je vais te faire ca ^^
Ancien pseudo : lolo

40

voila :

par contre, je pense que l'on peut pas mal l'optimiser...

il vérifie les balises non fermés, mais aussi les balises non ouvertes

<?php
	function verif_balise($post)
	{
		$lst_balise = 'b,i,u,s,sup,sub,li,ul,code,em';
		$lst_balise = explode(',', $lst_balise);
		
		$match = null;
		$res_open = '';
		$res_close = '';
		foreach($lst_balise as $bal)
		{
			$nb_open = 0;
			preg_match_all('/\['.$bal.'\]/isU', $post, $match);
			if (isset($match[0])) $nb_open	= count($match[0]);
			
			$nb_close = 0;
			preg_match_all('/\[\/'.$bal.'\]/isU', $post, $match);
			if (isset($match[0])) $nb_close	= count($match[0]);
			
			$nb = $nb_open-$nb_close;
			if ($nb>0)
			{
				while ($nb>0)
				{
					$res_close.= '[/'.$bal.']';
					$nb--;	
				}
			}
			else if ($nb<0)
			{
				while ($nb<0)
				{
					$res_open.= '['.$bal.']';
					$nb++;	
				}
			}
		}
		
		return array($res_open, $res_close);
	}
	
	$post = "voila un test à la con :
[i]Toto[/i]
[i][b]toto[u]titi[/u]rpo[/s]fdsf";

	$res = verif_balise($post);	
	$post = $res[0].$post.$res[1];
	echo $post;
?>
Ancien pseudo : lolo

41

mci

(mais du coup les posts vont être envoyés + lentement cheeky )
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

42

lol, je pense pas que ce soit d'une grande importance...

par contre, il ne faudrait mieux pas indiquer à l'utilisateur qu'il a fait une erreur de syntaxe, plutot que de la corriger automatiquement ?

#mode_relou#
Ancien pseudo : lolo

43

Spipu (./43) :
lol, je pense pas que ce soit d'une grande importance...

si ! chaque ms compte !
Spipu (./43) :
par contre, il ne faudrait mieux pas indiqué à l'utilisateur qu'il a fait une erreur de syntaxe, plutot que de la corriger automatiquement ?

bof jpense pas, il comprendrait pas le message
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

44

yAro (./43) :
Spipu (./43) :
lol, je pense pas que ce soit d'une grande importance...
si ! chaque ms compte !


d'ailleurs, tu pourra savoir combient on a perdu en rajoutant cette fonction ? pour voir si il faut l'optimiser ou non.
yAro (./43) :
Spipu (./43) :
par contre, il ne faudrait mieux pas indiqué à l'utilisateur qu'il a fait une erreur de syntaxe, plutot que de la corriger automatiquement ?
bof jpense pas, il comprendrait pas le message


t'a pas tord.

ou sinon, tu mets une option en plus dans le profil (comme le cross) : "fermer automatiquement les balises" ou "être averti d'une erreur de syntaxe" en <select>

na ?

#re_mode_relou#

sinon, l'avantage de ce dernier point : le mettre en JS du côté client => op, ca ne prend pas de temps serveur happy

Ancien pseudo : lolo

45

Spipu (./45) :
d'ailleurs, tu pourra savoir combient on a perdu en rajoutant cette fonction ? pour voir si il faut l'optimiser ou non.

Tu pouras pas + l'optimiser je pense, y'a que ca comme solution grin
Spipu (./45) :
sinon, l'avantage de ce dernier point : le mettre en JS du côté client => op, ca ne prend pas de temps serveur smile2.gif


Bon bah fait moi le JS alors cheeky
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

46

raaaaa

bon, je le fais en js alors
Ancien pseudo : lolo

47

voila le code :

<script type="text/javascript">
<!--
	function verif_balise(post)
	{
		var lst_balise = 'b,i,u,s,sup,sub,li,ul,code,em';
		lst_balise = lst_balise.split(',');
		
		var res_open = '';
		var res_close = '';
		var bal = '';
		var nb = 0;
		post = post.toLowerCase();
		
		for(var k=0; k<lst_balise.length; k++)
		{
			bal = lst_balise[k];
			nb	 = (post.split('['+bal+']').length) - (post.split('[/'+bal+']').length);
			if (nb>0)
			{
				while (nb>0)
				{
					res_close+= '[/'+bal+']';
					nb--;	
				}
			}
			else if (nb<0)
			{
				while (nb<0)
				{
					res_open+= '['+bal+']';
					nb++;	
				}
			}
		}
		
		return new Array(res_open, res_close);
	}

	function verifier()
	{
		var html = document.getElementById('post').value;
		var res = verif_balise(html);
		html = res[0]+html+res[1];
		document.getElementById('result').innerHTML = '<pre>'+html+'</pre>';
	}
-->
</script>
<textarea id="post" style="width: 400px; height: 100px; border: solid 1px black">	
voila un test à la con :
[i]Toto[/i]
[i][b]toto[u]titi[/u]rpo[/s]fdsf
</textarea>
<input type="button" value="verifier" onclick="verifier()" ><br >
<div id="result" style="width: 400px; height: 100px; border: solid 1px black">
</div>
Ancien pseudo : lolo

48

yAro (./45) :
Tu pouras pas + l'optimiser je pense, y'a que ca comme solution grin

bah on peut tjrs l'optimiser un peu :
function	verif_balise2 ($post)
{
	$list = array ('b', 'i', 'u', 's', 'sup', 'sub', 'li', 'ul', 'code', 'em');
		
	$res_open = '';
	$res_close = '';

	foreach ($list as $tag)
	{
		$gap = substr_count ($post, '[' . $tag . ']') - substr_count ($post, '[/' . $tag . ']');

		if ($gap > 0)
			for (; $gap; --$gap)
				$res_close .= '[/' . $tag . ']';
		else if ($gap < 0)
			for (; $gap; ++$gap)
				$res_open .= '[' . $tag . ']';
	}

	return array ($res_open, $res_close);
}

0.38 sec d'exécution pour 10000 appels au lieu de 1.86 avec l'ancienne, mais ça ne vaut pas un bon parsing avant la mise en base, faudra vraiment que je le fasse grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

49

tiens je connaissais pas substr_count ^^

avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

50

moi non plus ^^
Ancien pseudo : lolo

51

par contre, je pense qu'il est sensible à la casse. il faut mettre le post en minuscule avant pour identifier les balises en majuscule
Ancien pseudo : lolo

52

ah ué, faut refaire le bench avec ca alors cheeky
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

53

et vi smile
Ancien pseudo : lolo

54

parceque [B] c'est censé marcher ?

[edit] ah tiens oui... c'est chiant grin bon, 0.41 au lieu de 0.38 avec un "$post = strtolower ($post);" en plus... pas de grosse perte de perf ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

55

et donc yAro, tu va le faire en php ou en JS au final ?
Ancien pseudo : lolo

56

Zephyr (./55) :
[edit] ah tiens oui... c'est chiant biggrin.gif bon, 0.41 au lieu de 0.38 avec un "$post = strtolower ($post);" en plus... pas de grosse perte de perf ^^


t'as testé avec un post + gros ? ^^
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

57

nan, mais je te laisse le faire pke cet après-midi faire des bench n'est pas franchement ma priorité ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

58

va fonctionner pour[b]Ça ?
avatar

59

bah ué vu que c avant que le post soit enregistré
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

60

alors, tu l'a intégré ?

[u]test à la con

ah ben non
Ancien pseudo : lolo