| 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: 12 let
|
|||
0