Autor | Zpráva | ||
---|---|---|---|
Defua Profil * |
#1 · Zasláno: 25. 8. 2014, 11:14:27
Dobrý den,
mám tento problém. Mám text s tagama: 1) $text = "<p>Lorem ipsum dorem...</p>" ten potřebuju nasázet do <div class="text" data-text="<?php echo $text;" ?>">. Jak ho správně echovat do data atributu? Pomocí nějakého encodování? 2) Následně ho potřebuji v JS načíst $('.text').data('text'); a vložit do divu. Načíst ho v JS umím ale jak ho encodovat, abych ho do divu vložil zase jako htmlko? Moc děkuji za pomoc. |
||
aDAm Profil |
#2 · Zasláno: 25. 8. 2014, 11:35:52
pro decodovani html entit jde použít jquery:
var text = '<p>name</p><p><span style="font-size:xx-small;">ajde</span></p><p><em>da</em></p>'; var output = $("<div />").html(text).text(); console.log(output); |
||
Defua Profil * |
#3 · Zasláno: 25. 8. 2014, 11:42:11
Jo to funguje ale problém je, že když text načtu z vyechované proměnné v data-text, kde to v php proženu htmlentities, tak se rozhraší znaky s diakritikou, když to pak načítám v JS.
|
||
Taps Profil |
#4 · Zasláno: 25. 8. 2014, 11:45:59
Defua:
Takt to spíše bude problém někde na úrovni kódování |
||
Defua Profil * |
#5 · Zasláno: 25. 8. 2014, 11:51:34 · Upravil/a: Defua
Zde je kód, kódování by mělo být v pořádku. Stránka je také uložená jako UTF8.
<!doctype html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Test</title> <script src="https://code.jquery.com/jquery-1.11.1.js"></script> </head> <body> <?php $string = "<p>asdsdgdfhfghěšččšřřčžýžýáýáíáíé</p>"; $stringEntities = htmlentities($string); echo "<br />"; echo "<div class='original' data-text='" . $stringEntities . "'>Lorem ipsum</div>"; echo "<br />"; ?> <div class="text"></div> <script type="text/javascript"> var text = $('div.original').data('text'), output = $("<div />").html(text).text(); $('div.text').html(output); </script> </body> </html> Přičemž výstup vygenerovaný JSkem je: <div class="text"><p>asdsdgdfhfghÄ�Å¡Ä�Ä�Å¡Å�Å�Ä�žýžýáýáÃáÃé</p></div> |
||
Časová prodleva: 11 let
|
0