Autor Zpráva
peta
Profil
http://peter-mlich.wz.cz/web/links.htm
Ve FF se mi krasne udelaji odrazky z textu v tagu PRE.
V IE mi to vynecha odrazku ob radek. Zkousel jsem zakomentovat vse, co tam nemusi byt a eliminoval jsem problem na 1 radek. Coz je volani reg. vyrazu.

arr[j] = arr[j].replace(REG[4][0],REG[4][1]);

Reg. vyraz je pak z pole, cili mezera, hvezdicka, mezera. Je to pro kazdy radek zvlast, takze by to melo byt ok.

['\\s\\*\\s(.*)' ,'<li>$1<\/li>'],

Alert pred zobrazi text bez problemu spravne
alert(arr) // cely zdroj bez problemu
Cili zatim to vypada na anomalii v IE.
peta
Profil
Zvlastni, tady to funguje, jak ma
<pre id=pre>

 ==== Uvod ====

 === Pekne stranky ===

 * [http://leftjustified.net]			+ velmi pěkná
 * [http://www.teraristika.com]			+ velmi pěkná
</pre>

<script>
var str,arr1,arr2,r1,r2,i;
str  = document.getElementById("pre").innerHTML;
arr1 = str.split("\n");
arr2 = str.split("\n");
for (i=0;i<arr1.length;i++)
{
arr1[i] = arr1[i].replace(new RegExp('\\s\\*\\s','g'),"odrazka");
arr2[i] = arr2[i].replace(new RegExp('\\s\\*\\s(.*)','g'),"odrazka$1");
}
document.write(arr1.join("\n") + '<hr>' + arr2.join("\n"));
</script>
Thalia
Profil
Ahoj, javascript není zrovna má silná stránka, ale snad nebude vadit, když se podělím o své pozorování (edit: v IE8). Zajímalo mě, co píšeš o wz a tak jsem si všimla, že v sekci Hosting placeny je to trošku jinak a první dvě odrážku mají a hvězdička je až u třetí. Jen tak zkusmo jsem odentrovala jednotlivé položky v tom pre a hvězdičky mi zmizely. Nevím jestli ti to pomůže, ale každopádně je to zajímavé.
peta
Profil
Dik, uz jsem anomalii objevil. Dela to ta podminka s test. Kdyz tam das ten test, tak se druha odrazka neprovede. Coz je logicky nesmysl :)
O wz.cz nepisi nic zajimave, jen jsem predelal puvodni linky na nove a vyhazel odkazy na sve stranky pryc. A chtel jsem pouzit beznejsi format, libil se mi docu-wiki (rozdil proti wiki ne treba v nadpisech = je h6, ve wiki h1).
<pre id=pre>

==== Uvod ====

=== Pekne stranky ===

* [http://leftjustified.net] + velmi pěkná
* [http://www.teraristika.com] + velmi pěkná
</pre>

<script>
var str,arr1,arr2,r1,r2,i;
str = document.getElementById("pre").innerHTML;
r1 = new RegExp('\\s\\*\\s','g');
r2 = new RegExp('\\s\\*\\s(.*)','g');
arr1 = str.split("\n");
arr2 = str.split("\n");
for (i=0;i<arr1.length;i++)
{
if (r1.test(arr1[i]))
{
arr1[i] = arr1[i].replace(r1,"<br>ODRAZKA");
}
if (r2.test(arr2[i]))
{
arr2[i] = arr2[i].replace(r2,"<br>ODRAZKA$1");
}
}
document.write(arr1.join("\n") + '<hr>' + arr2.join("\n"));
</script>

Pro zjednoduseni, kdyz zakomentujes radek
// if (REG[4][0].test(arr[j])) //ul,li
Tak se vse provede ok.
peta
Profil
Dik jeste jednou, tam je to samozrejme chybka v kodu. Mam tam script, ktery prida pro volny radek <ul> kolem odrazky <li> , takze enterovani nema smysl bez mezery nebo dalsiho znaku.

* odrazka


Ale je to zajimave, ze s novym radkem uz se to provede dobre i s funkci test().
peta
Profil
uz to umim nasimulovat i ve FF
	if (REG[4][2].test(arr[j]))	//ul,li
		{
		/[]/.test(arr[j]);
		arr[j] = arr[j].replace(REG[4][0],REG[4][1]);

a tohle to resi (spustit test jeste jednou a pouzit jiny regexp), coz neni reseni, ale
for (i=0;i<REG.length;i++)
	{
	REG[i][2] = new RegExp(REG[i][0],'g');
	REG[i][0] = new RegExp(REG[i][0],'g');
	}
...
	if (REG[4][2].test(arr[j]))	//ul,li
		{
		REG[4][2].test(arr[j]);
		arr[j] = arr[j].replace(REG[4][0],REG[4][1]);

Opraveno: 10:16

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: