Reputation: 203
I want to display code characters on an HTML page. But no matter what I try it always renders HTML characters. pre
or code
doesn't work. How can I do this?
Upvotes: 20
Views: 65205
Reputation: 2711
So I am displaying vue code in html content block with this. wrap the the code I want o display twice. for example:
<pre>
<xmp>
<template> <h1>{{ title }}</h1></template>
<script>
export default {
name: 'App',
data(){
return {
title: 'My First Vue app :) '
}
}
}
</script>
<xmp>
</pre>
The example here
Upvotes: 0
Reputation: 1268
To display HTML tags within a browser, you can surround the output with
<xmp><p>HTML<p></xmp>
tags
This is the easy way to fix this problem. but this tag already deprecated.
for more details : xmp
You can use htmlentities
.But you can't use this inside the JavaScript file. because JavaScript runs in the user's browser. PHP runs on the server.
<code>
<?php print htmlentities('<p>HTML</p>');?>
</code>
Upvotes: 0
Reputation: 113
try wrapping HTML content in <textarea></textarea> For ex: <pre> <textarea> <html> </html> </textarea> </pre> Works in awesome way. You don't have to use obsolete <XMP> example tag. <textarea> tag will wrap the content in text area. Try out !
Upvotes: -3
Reputation: 824
Download tinymce From
https://www.tinymce.com/download/
<html>
<head>
<script src='tinymce/js/tinymce.min.js'></script>
<script>
tinymce.init({
selector: '#myTextarea',
height: 300,
width:800,
theme: 'modern',
plugins: [
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code fullscreen',
'insertdatetime media nonbreaking save table contextmenu directionality',
'emoticons template paste textcolor colorpicker textpattern imagetools'
],
toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
toolbar2: 'print preview media | forecolor backcolor emoticons',
image_advtab: true
});
</script>
</head>
<body>
<textarea name="myTextarea" id="myTextarea" rows="4" cols="50">Hello Ashish</textarea>
<input type='submit' value='save'/>
</body>
</html>
Upvotes: -2
Reputation: 429
Since tag is now depreciated : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/xmp
You can use PHP to convert HTML tags :
<code>
<?php print htmlentities('<p>Blah</p>'); ?>
</code>
Upvotes: 3
Reputation: 8356
Look for an HTML encode function in your language.
string s = HtmlEncode(myInput);
response.write(s)
or similar
Upvotes: 2
Reputation: 546433
The <xmp>
tag doesn't require the contents to be escaped.
eg:
<xmp>
<p>Blah </p>
</xmp>
...will look like this on your screen:
<p>Blah </p>
Upvotes: 46
Reputation: 5298
By escaping them.
&
will print &
<
will print >
You didn't mention what you're using to generate the html, if you're manually editing, some editors have options to escape a selection. If you're using a language, look for some function that escapes html special characters. (google for how to escape html in language-name-here
)
Upvotes: 4
Reputation: 655707
You need to use character references instead of the plain characters themselves:
<code><HTML></code>
The elements code
and pre
are just to mark the content as code or preformated.
Upvotes: 10