J'ai une page qui fait partie d'un panneau d'administration backend CRM. Sur cette page, la sortie HTML provient de certaines fonctions PHP auxquelles je n'ai pas accès. Et ce HTML change automatiquement <
et >
en caractères codés HTML.
Il existe donc un div qui contient des balises HTML telles que <br />
qui est convertie en <b />
J'ai donc besoin de revenir aux caractères HTML en utilisant uniquement jQuery:
<
à <
>
à >
Existe-t-il un script jQuery que je peux utiliser pour remplacer ces caractères spéciaux par les symboles correspondants? Cela signifie-t-il que mes balises HTML fonctionneront réellement et que le code HTML s'affichera correctement à l'écran?
J'ai essayé removewith()
mais je ne peux pas le faire fonctionner.
ADDED: Le div que je tente de modifier est-ce
<div style="font-size: 11px; width: 90%; font-family: Tahoma;" id="cotiz"><strong>Valuación</strong> de InfoAuto: 35.500,00<br />
Cotización Seleccionada: Ninguna<br />
Allianz, Responsabilidad Civil: $205,25<br />
Allianz, Terceros Completos: $278,85 </div>
La chose la plus simple à faire serait
$('#test').each(function(){
var $this = $(this);
var t = $this.text();
$this.html(t.replace('<','<').replace('>', '>'));
});
S'il vous plaît essayez ceci
.replace(/</g, '<').replace(/>/g, '>')
pour remplacer ces caractères globalement. J'ai essayé cela et fonctionne comme un charme :)
J'ai une solution différente de celle conventionnelle, et elle sera appliquée pour décoder/encoder html
Décoder
var encodedString = "<Hello>";
var decodedText = $("<p/>").html(encodedString).text();
/* this decodedText will give you "<hello>" this string */
Encoder
var normalString = "<Hello>";
var enocodedText = $("<p/>").text(normalString).html();
/* this encodedText will give you "<Hello>" this string
si l'utilisation de underscore.js existe _.unescape(string)
$('#myDivId').text(function (i, text)
{
return text.replace('<', '<').replace('>', '>');
});
Essaye ça:-
var wrapper=$(".contentwrap").html();
wrapper=wrapper.replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&');
$(".contentwrap").html(wrapper);
Utilisez $ This.html ('...'); à la place $ this.text ('...');
<?php
$a =
'<div style="font-size: 11px; width: 90%; font-family: Tahoma;" id="cotiz"><strong>Valuación</strong> de InfoAuto: 35.500,00<br />
Cotización Seleccionada: Ninguna<br />
Allianz, Responsabilidad Civil: $205,25<br />
Allianz, Terceros Completos: $278,85 </div>';
$b = html_entity_decode($a);
echo $b;
?>
Tout ce qui précède n'a pas vraiment fonctionné pour moi, car j'avais besoin de remplacer <
par <et >
par>, pas seulement le premier. Ce que j'ai fait était:
.split('<').join('<').split('>').join('>');
Je pensais juste en dehors de la boîte ici… .. Cela a fonctionné pour moi, j'espère que ça le fera aussi pour vous.