2


I need to turn an entire HTML document into one, valid JavaScript string.

This is a process that will need to be done regularly. For example:


This:

<html>
    <!--here is my html-->
    <div id="Main">some content</div>
    </html>

needs to become this:

var htmlString="<html><!--here is my html --><div id=\"Main\">some content</div><html>"

Based on what I've ready my initial thought is to read the contents of the file with Java and write my own parser. I don't think this would be possible with a shell script or the like? (I'm on OSX)

Can someone recommend a good approach?

Similar Questions I've Read
Reading entire html file to String?
convert html to javascript

7
  • What language are you using to do this conversion? Commented Mar 13, 2014 at 11:43
  • I'm familiar with Java, but open to suggestions. Dev environment is OSX. Whatever the most expedient process would be to convert one file (html) to another (js) where the JS file contains only var stringName="<escaped html>" Commented Mar 13, 2014 at 11:45
  • 1
    Btw., the string you have shown is not an identical representation of the document shown, because you left out white space (and this can be significant). Commented Mar 13, 2014 at 11:48
  • Your questions says to use java, but not tagged with 'java' do you mean javascript or java ? - If 'java' tag as java Commented Mar 13, 2014 at 11:48
  • And the easiest way would probably be not to bother with writing any “parsers” or such at all – but just take the whole document content you read and encode it as JSON. Commented Mar 13, 2014 at 11:49

2 Answers 2

4

Try this live, jsFiddle

JS

var htmlString = document.getElementsByTagName('html')[0].innerHTML;
console.log(htmlString);

HTML

<p>Hello</p>
<div>Hi div</div>
Sign up to request clarification or add additional context in comments.

Comments

1

How about a jQuery GET request?

e.g.

$.get( "http://www.domain.com/some/page.html", function( data ) {
    // data == entire page in html string
});

It will work on php script also (resulting html output that is).


Alternatively, if you want to achieve this PHP, something like this will also work:

<?php

$html_str = file_get_contents('http://www.domain.com/some/page.html');

?>

1 Comment

Although this solution is correct there is no need to have to make another network request when there is methods of getting it via the dom.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.