Autor Zpráva
klusik
Profil
Ahoj, mám něco jako:

<a href="#" onClick='setLiteraturaSearch(34, "Feminism in a nationalist century Al-Ahram Weekly, 30.12.1999 &ndash;  5.1.2000, Issue number 462, (online) (30.12.1999 &ndash; 5.1.2000)")'>Feminism in a nationalist century Al-Ahram Weekly, 30.12.1999 &ndash; 5.1.2000, Issue number 462, (online) (30.12.1999 &ndash;  5.1.2000)</a>


Napsal jsem si v PHP funkci, která mi převádí dlouhou pomlčku (--) na &ndash;

Zaprvé se mi funkce vůbec nelíbí (ne, jak je napsána, ale že je vůbec potřeba, kdo ví, jaké znaky budu muset ještě ošetřit) -- takže to je spíše dotaz do PHP, ale jestli na to existuje funkce v PHP, budu rád.

Ale k věci; Pokud tam nechám nějaké hnusné znaky, v parametru onClick, javascript prostě vyhodí chybu (v inspektoru Chromia mi to vyhodí hlášku Uncaught SyntaxError: Unexpected token ILLEGAL. Nejhorší na problému je, že některé texty tak fungují, některé ne (podle použitých znaků).

Pokud jste se někdo s problémem setkal, mohli byste mi poradit? Uživatelé si kopírují do formulářů texty z wordů a podobných nesmyslů, které jim to nahrazují. Nemůžu po nich chtít, aby to psali nějak, to je moje práce, očekávat od nich cokoliv. ;)


Jinak pro informaci, mám charset UTF8. Všechny skripty mají UTF8, DB je v UTF8, prostě uplně všecko je v UTF8 ;) Díky díky.

Stačí nakopnout, dostuduji sám ;)

Zkoušel jsem funkce, jako htmlentities, mb_convert_encoding z UTF na HTML-ENTITIES atd., ale prostě nic (tedy ano, konvertovalo to, ale nefungovalo, spadlo to pokaždé).

Díky moc!! ;)
Chamurappi
Profil
Reaguji na klusika:
V uvedeném kódu nevidím problém, prosím o odkaz na živou ukázku.
Jestli dáváš do druhého argumentu tentýž HTML kód, jako je uvnitř odkazu, můžeš místo něj uvést this.innerHTML. (Ale i pokud tato rada pomůže, rád bych znal příčinu té SyntaxError).

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: