How to render encoded tags as proper HTML, rather than text?
Try this:
String Input = "investment professionals.<BR /><BR /> blah blah blah";
String Output = Server.HtmlDecode(Input);
How to render HTML element from encoded HTML string in View?
Possible duplicate of : How to render encoded tags as proper HTML, rather than text?
You can use Server.HtmlDecode(...) function on server side to set the Model property before passing the model to view, perhaps inside a controller/helper and then use @Html.Raw(...) inside the view.
How to render HTML string as real HTML?
Check if the text you're trying to append to the node is not escaped like this:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
Instead of this:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
if is escaped you should convert it from your server-side.
The node is text because is escaped
The node is a dom node because isn't escaped
How to display HTML tags as plain text
Replace <
with <
and >
with >
.
HTML: Should I encode greater than or not? ( )
Strictly speaking, to prevent HTML injection, you need only encode <
as <
.
If user input is going to be put in an attribute, also encode "
as "
.
If you're doing things right and using properly quoted attributes, you don't need to worry about >
. However, if you're not certain of this you should encode it just for peace of mind - it won't do any harm.
Fastest method to escape HTML tags as HTML entities?
You could try passing a callback function to perform the replacement:
var tagsToReplace = {
'&': '&',
'<': '<',
'>': '>'
};
function replaceTag(tag) {
return tagsToReplace[tag] || tag;
}
function safe_tags_replace(str) {
return str.replace(/[&<>]/g, replaceTag);
}
Here is a performance test: http://jsperf.com/encode-html-entities to compare with calling the replace
function repeatedly, and using the DOM method proposed by Dmitrij.
Your way seems to be faster...
Why do you need it, though?
How to display raw HTML code in PRE or something like it but without escaping it
You can use the xmp
element, see What was the <XMP> tag used for?. It has been in HTML since the beginning and is supported by all browsers. Specifications frown upon it, but HTML5 CR still describes it and requires browsers to support it (though it also tells authors not to use it, but it cannot really prevent you).
Everything inside xmp
is taken as such, no markup (tags or character references) is recognized there, except, for apparent reason, the end tag of the element itself, </xmp>
.
Otherwise xmp
is rendered like pre
.
When using “real XHTML”, i.e. XHTML served with an XML media type (which is rare), the special parsing rules do not apply, so xmp
is treated like pre
. But in “real XHTML”, you can use a CDATA section, which implies similar parsing rules. It has no special formatting, so you would probably want to wrap it inside a pre
element:
<pre><![CDATA[
This is a demo, tags like <p> will
appear literally.
]]></pre>
I don’t see how you could combine xmp
and CDATA section to achieve so-called polyglot markup
Related Topics
More Elegant Exception Handling Than Multiple Catch Blocks
Spawn a New Thread to Open a New Window and Close It from a Different Thread
Internal Server Error While Running a Simple .Net Core MVC Application on Ubuntu 16.04
C#: Throwing Custom Exception Best Practices
How to Delete Cookies on an ASP.NET Website
How to Validate That a String Doesn't Contain HTML Using C#
C# - How to Prevent Mousewheel-Scrolling in My Combobox
Print HTML Document from Windows Service in C# Without Print Dialog
How to Add a CSS Class to an Updatepanel in Asp.Net
Linux to Windows Bad Encoding Response
Check a String to See If All Characters Are Hexadecimal Values
Multiple SQL Statements in One Roundtrip Using Dapper.Net
Ef5 Code First - Changing a Column Type with Migrations
Retrieve an Object from Entityframework Without One Field
Deserialize JSON to Anonymous Object
Webutility.HTMLdecode Vs Httputilty.HTMLdecode
How to Add a Reference to an Unmanaged C++ Project Called by a C# Project