有时候我们可能需要向html中传递html代码。但是因为我们的后台框架使用了laravel。所以我们在赋值的时候就会变成:
{{$username}}
虽然我们使用自带的非转义的赋值方法:
{!! $username !!}
但是我的需求却是不能使用后面的这类方法。
通过谷歌,我了解到一种完美的办法,可以将转义后的代码再次转回来。
代码如下:
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
我们只需要调用该方法就可以完美执行反转义了:
htmlDecode("<img src='myimage.jpg'>");
// returns "<img src='myimage.jpg'>"