以下工作正常:
var sFirstText=<?php include("first2.html"); ?>;
当first2.html看起来像这样包含双引号:
"<p>sentence one</p><p>sentence two</p>"
但是,如果first2.html看起来像:
"<p>sentence one</p>
<p>sentence two</p>"
我收到一个未终止的字符串文字消息。我希望弄清楚如何在不首先删除回车/换行序列的情况下包含html。
另外,如果我删除双引号并执行:
var sFirstText="<?php include("first2.html"); ?>";
这将无效,返回我尚未理解的消息。
基本上我想在一个字段中得到简单的html格式,而不必删除cr / lf序列。
答案 0 :(得分:1)
尝试使用行尾的\
将字符串继续到下一行。
答案 1 :(得分:0)
Javascript无法处理这些换行符。你可能想打开文件,阅读内容并用空格替换那些文件。
此外,在获取源内容时,您需要转义您用于包装它的引用类型。
这就是我要做的事。
function contents($file, $wrappingQuote='\'') {
$fh = fopen($file,'r');
$contents = fread($fh,filesize($file));
fclose($fh);
echo preg_replace('~\'~','\\'.$wrappingQuote,preg_replace('~\r?\n~','',$contents));
}
(...)
var str = '<?php contents('first2.html') ?>';
// or
var str = "<?php contents('first2.html','"') ?>";