Autor Zpráva
Tomtomas
Profil
Pomocí getElementByID...nodeValue vybírám text z HTML stránky, nějakým způsobem si ho upravím (použití fce split() ) a opět ho někam na stránku pomocí getElementByID...nodeValue vložím.

Problém mám při výskytu HTML značek ve zdrojovém textu. Na výstupu dostanu vždy značky jako entity - &lt;a href="..."&gt;. I když použiji replace() s &lt; -> '%3C' nebo &lt; -> '<', vždycky na výstupu mám stále &lt;.

Tj. prosím, jak dosáhnout, aby se mi vypisoval zejména např. link jako [url=#]odkaz[/url] a nikoliv jako <a href="#">odkaz</a>? Děkuji za pomoc.
Tomtomas
Profil
Editace: ořízl se mi název téma - Jak na převod stringu s &lt;&gt; na string s funkčním HTML.
Leo
Profil
Pouzijte innerHTML a nekomplikujte si zivot... Leos
Tomtomas
Profil
Díky za reakci. InnerHTML jsem zkoušel také, ale se stejným výsledkem (&lt; - viditelné na webu jako <neco ...

Mám teď toto:
var promenna = JinaPromenna.innerHTML.split('|');
(původně var promenna = JinaPromenna.firstChild.nodeValue.split('|');
document.getElementById('konecny-html-element').innerHTML = 'hodnota je '+promenna[0];
(původně document.getElementById('konecny-html-element').childNodes[0].nodeValu  e = 'hodnota je '+promenna[0];)
Tomtomas
Profil
Měl jsem tam nějakou chybu v načítání proměnné, takže to fungovalo, ale chybně - s &lt; atd. Teď je to již bez mojí chyby v zápisu, tj. tak, jak je popsáno v předešlém příspěvku, přes innerHTML, ale výsledné chyby jsou ještě větší. Prostě s jakoukoliv vstupní hodnotou, kde je HTML značka, se skript neprovede (resp. veškeré načtené proměnné s HTML ignoruje). Tedy mimo Firefoxe, tam je to ještě o něco divočejší.

I když jsou s tím problémy i bez použití split(), připadá mě, že je její použití zde taky problémem (myslím ve vztahu k HTML značkám, jinak bezchybné).

Prostě jak zacházet s proměnnou(mixem textu a HTML) u getElementByID. Nejspíš budu vděčný za radu nebo nasměrování, jak pokud možno jednoduše a elegantně zakódovat HTML značky na vstupu a především, jak to pak dekódovat, aby byl pomocí JS výsledkem třeba tučný text, klikatelný odkaz atd. Protože alespoň mě jiné řešení nenapadá.
Tomtomas
Profil
Takže nakonec jsem problém úspěšně vyřešil přece jen s použitím innerHTML. Ale na vstupu jsem použil JavaScriptové pole var Array = ['Neco a <a>neco</a>','neco jineho','zase neco jineho'], čímž odpadla nutnost funkce split(). InnerHTML je tak až na výstupu, při vložení do výsledného elementu. Takto není problém s jakýmikoliv HTML značkami a zároveň odpadají problémy s innerHTML na vstupu, kdy zejména ve Firefoxu byly hodně velké problémy. Takže díky, Leo.

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:

0