puk
puk

Reputation: 16762

PHP read and execute contents of a file as a string

I am trying to read a file as a string and return it to the client to be executed as javascript code in order to save it as a variable. Like so

<?php
$fileName = 'target.js';
$codeAsString = file_get_contents($fileName);
$script = 'var code=\'' . $codeAsString . '\'';
echo $script;
?>

Once returned, I want the variable code to have a string representation of the contents of target.js. However, it isn't working. I suspect it has to do with new line characters and single/double quotes... In Python they have a multi line quote

"""This
is
a "multi"
line
'quote'
"""

Is there anything like this in Javascript/php? I can't even wrap my head around whether I need the single quotes around $codeAsString when appending it to $script. Do I have to manually go in and prepend backslashes before all quotes, double quotes, back slashes...Surely they have helper functions for this

thanks.

Upvotes: 0

Views: 381

Answers (2)

Gedrox
Gedrox

Reputation: 3612

Use PHP function json_encode.

Upvotes: 1

yankee
yankee

Reputation: 40770

json_encode is your friend...

<?php
$fileName = 'target.js';
$codeAsString = file_get_contents($fileName);
$script = 'var code= '.json_encode($codeAsString) .';';
echo $script;
?>

Upvotes: 1

Related Questions